spring-ai-sap-hana-store-spring-boot-starter
依赖项添加到项目的 pom.xml
文件中。
该启动器包含了 spring-ai-core
和 SAP HANA JDBC 驱动程序。
EmbeddingClient
实现来为您的文档生成向量嵌入。例如,您可以添加 spring-ai-openai-spring-boot-starter
以使用 OpenAI 的嵌入模型:
application.properties
或 application.yml
文件中配置 SAP HANA Cloud 和嵌入客户端属性。
属性 | 描述 | 默认值 |
---|---|---|
spring.ai.vectorstore.hana.host | SAP HANA Cloud 实例的主机名或 IP 地址。 | |
spring.ai.vectorstore.hana.port | SAP HANA Cloud 实例的端口。 | |
spring.ai.vectorstore.hana.username | 用于连接到 SAP HANA Cloud 的用户名。 | |
spring.ai.vectorstore.hana.password | 用于连接到 SAP HANA Cloud 的密码。 | |
spring.ai.vectorstore.hana.table-name | 用于存储向量和元数据的表名。 | SPRING_AI_VECTOR_STORE |
spring.ai.vectorstore.hana.embedding-dimension | 嵌入向量的维度。必须与 EmbeddingClient 生成的维度匹配。 | 1536 (OpenAI text-embedding-ada-002) |
spring.ai.vectorstore.hana.distance-type | 用于相似性搜索的距离类型 (L2DISTANCE , COSINE_SIMILARITY , EUCLIDEAN_DISTANCE )。 | L2DISTANCE |
spring.ai.vectorstore.hana.schema-name | SAP HANA Cloud 中的 schema 名称。 | (用户默认 schema) |
spring.ai.vectorstore.hana.ssl.enabled | 是否为 JDBC 连接启用 SSL。 | false |
spring.ai.vectorstore.hana.ssl.trust-store-location | SSL 信任库文件的路径 (如果 ssl.enabled 为 true )。 | |
spring.ai.vectorstore.hana.ssl.trust-store-password | SSL 信任库的密码 (如果 ssl.enabled 为 true )。 |
application.properties
:
spring.ai.vectorstore.hana.embedding-dimension
与您正在使用的 EmbeddingClient
输出的嵌入维度相匹配。
如果表不存在,它将在第一次添加文档时自动创建。VectorStore
VectorStore
bean 注入到您的组件中以与之交互:
HanaVectorStore
Bean (可选)HanaVectorStore
bean。但是,如果您需要自定义配置,可以定义自己的 bean:
WHERE
子句和 Spring AI 的 相似性搜索过滤器表达式 进行元数据过滤。
过滤器表达式会转换为 SQL WHERE
子句中的条件。
示例:
metadata
JSON 列中。
过滤器表达式中使用的键 (例如,genre
, year
) 应该是您在文档元数据中使用的键。
确保您的 SAP HANA Cloud 实例配置为允许对 JSON 列进行高效查询。根据需要,可能需要为元数据字段创建索引。HanaVectorStore
支持通过文档 ID 删除数据。