spring-ai-typesense-store-spring-boot-starter
依赖项添加到项目的 pom.xml
文件中。
该启动器包含了 spring-ai-core
和 Typesense Java 客户端库。
EmbeddingClient
实现来为您的文档生成向量嵌入。例如,您可以添加 spring-ai-openai-spring-boot-starter
以使用 OpenAI 的嵌入模型:
application.properties
或 application.yml
文件中配置 Typesense 和嵌入客户端属性。
属性 | 描述 | 默认值 |
---|---|---|
spring.ai.vectorstore.typesense.collection-name | 用于存储文档的 Typesense 集合名称。 | spring_ai_collection |
spring.ai.vectorstore.typesense.embedding-dimension | 嵌入向量的维度。必须与 EmbeddingClient 生成的维度匹配。 | 1536 (OpenAI text-embedding-ada-002) |
spring.ai.vectorstore.typesense.host | Typesense 服务器的主机名或 IP 地址。 | localhost |
spring.ai.vectorstore.typesense.port | Typesense 服务器的端口。 | 8108 |
spring.ai.vectorstore.typesense.protocol | 用于连接到 Typesense 服务器的协议 (例如 http 或 https ) | http |
spring.ai.vectorstore.typesense.api-key | 用于向 Typesense 服务器进行身份验证的 API 密钥。 |
application.properties
:
spring.ai.vectorstore.typesense.embedding-dimension
与您正在使用的 EmbeddingClient
输出的嵌入维度相匹配。VectorStore
VectorStore
bean 注入到您的组件中以与之交互:
TypesenseVectorStore
Bean (可选)TypesenseVectorStore
bean。但是,如果您需要自定义配置,可以定义自己的 bean:
filter_by
字符串格式。
示例:
facet: true
以进行高效过滤)。
Typesense 对 filter_by
语法有特定的要求。Spring AI 的 FilterExpressionConverter
尽力将其转换为兼容的格式,但复杂的嵌套表达式可能无法完全支持或需要仔细构建。TypesenseVectorStore
支持通过文档 ID 删除数据。