Qdrant
本部分将引导您完成 Qdrant VectorStore
设置,以存储文档嵌入
并执行相似性搜索
。
Qdrant 是一个开源、高性能的向量搜索引擎/数据库。
先决条件
- Qdrant 实例:按照 Qdrant 安装说明文档设置 Qdrant 实例。
- 如果需要, 可以给 EmbeddingClient 配置 API 密钥,生成嵌入结果并通过
QdrantVectorStore
存储.
要设置 QdrantVectorStore
,您需要 Qdrant 实例中的以下信息:Host
, GRPC Port
, Collection Name
, 和 API Key
(如果需要)。
注意:建议提前创建具有适当尺寸和配置的 Qdrant 系列。如果未创建该集合,QdrantVectorStore
将尝试使用 Cosine
相似性和维度的配置,来初始化 EmbeddingClient
。
依赖项
然后将 Qdrant 启动器依赖项添加到您的项目中:
或者,在你的 Gradle 构建文件 build.gradle
中添加:
向量存储还需要一个 EmbeddingClient
实例来计算文档的嵌入。您可以选择可用的 EmbeddingClient 实现之一。
例如,要使用 OpenAI EmbeddingClient,请将以下依赖项添加到您的项目中:
或者,在你的 Gradle 构建文件 build.gradle
中添加:
要连接到 Qdrant 并使用 QdrantVectorStore
,您需要提供实例的访问详细信息。可以通过 Spring Boot 提供简单的配置 application.yml
现在您可以在应用程序中自动连接 Qdrant Vector Store 并使用它
手动配置
除了使用 Spring Boot 自动配置,你还可以手动配置 QdrantVectorStore
. 您需要将 spring-ai-qdrant
依赖项添加到您的项目中:
或者,在你的 Gradle 构建文件 build.gradle
中添加:
要在应用程序中配置 Qdrant,您可以使用以下设置:
通过将 Spring Boot OpenAI 启动器添加到您的项目中,与 OpenAI 的嵌入集成。这为您提供了嵌入客户端的实现:
元数据过滤
您可以将通用、可移植的元数据过滤器与 Qdrant Vector 存储结合使用。
例如,您可以使用文本表达语言:
或者使用Filter.Expression
DSL 的编程方式:
注意:这些过滤器表达式被转换为等效的 Qdrant过滤器。
配置属性
您可以在 Spring Boot 配置中使用以下属性来自定义 Qdrant 向量存储。
属性 | 描述 | 默认值 |
---|---|---|
spring.ai.vectorstore.qdrant.host |
Qdrant 服务器的主机。 | localhost |
spring.ai.vectorstore.qdrant.port |
Qdrant 服务器的 gRPC 端口。 | 6334 |
spring.ai.vectorstore.qdrant.api-key |
用于通过 Qdrant 服务器进行身份验证的 API 密钥。 | - |
spring.ai.vectorstore.qdrant.collection-name |
在 Qdrant 中使用的集合的名称。 | - |
spring.ai.vectorstore.qdrant.use-tls |
是否使用 TLS(HTTPS)。 | false |
最后编辑:Jeebiz 更新时间:2024-10-27 20:34