SAP HANA Cloud 向量数据库
Spring AI 支持将 SAP HANA Cloud 作为向量数据库,利用其向量引擎进行相似性搜索。添加依赖
要使用 SAP HANA Cloud 向量存储,您需要将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 和嵌入客户端属性。
SAP HANA Cloud 属性
示例
application.properties:
确保
spring.ai.vectorstore.hana.embedding-dimension 与您正在使用的 EmbeddingClient 输出的嵌入维度相匹配。
如果表不存在,它将在第一次添加文档时自动创建。使用 VectorStore
将 VectorStore bean 注入到您的组件中以与之交互:
创建 HanaVectorStore Bean (可选)
Spring Boot 会自动配置 HanaVectorStore bean。但是,如果您需要自定义配置,可以定义自己的 bean:
元数据过滤
SAP HANA Cloud 向量存储支持使用 SQLWHERE 子句和 Spring AI 的 相似性搜索过滤器表达式 进行元数据过滤。
过滤器表达式会转换为 SQL WHERE 子句中的条件。
示例:
元数据存储在表中的
metadata JSON 列中。
过滤器表达式中使用的键 (例如,genre, year) 应该是您在文档元数据中使用的键。
确保您的 SAP HANA Cloud 实例配置为允许对 JSON 列进行高效查询。根据需要,可能需要为元数据字段创建索引。删除数据
HanaVectorStore 支持通过文档 ID 删除数据。
总结
将 Spring AI 与 SAP HANA Cloud 集成,使您能够利用 HANA 的内存计算能力和企业级特性进行向量存储和相似性搜索,从而增强您的 AI 应用程序。文档有误?请协助编辑
发现文档问题?点击此处直接在 GitHub 上编辑并提交 PR,帮助我们改进文档!