87_Spring AI 干货笔记之 Couchbase 向量存储
一、Couchbase
本节将引导您设置 CouchbaseSearchVectorStore,以使用 Couchbase 存储文档嵌入并执行相似性搜索。
Couchbase 是一个分布式的 JSON 文档数据库,具备关系型数据库管理系统(RDBMS)的所有理想功能。除其他特性外,它允许用户使用基于向量的存储和检索来查询信息。
二、先决条件
一个正在运行的 Couchbase 实例。有以下可用选项:
-
Couchbase Docker
-
Capella - Couchbase 即服务
-
本地安装 Couchbase
-
Couchbase Kubernetes Operator
三、自动配置
Spring AI 自动配置、启动器模块的工件名称发生了重大变化。请参阅升级说明以获取更多信息。
Spring AI 为 Couchbase 向量存储提供了 Spring Boot 自动配置。要启用它,请将以下依赖项添加到项目的 Maven pom.xml 文件中:
<dependency>
<groupId>org.springframework.aigroupId>
<artifactId>spring-ai-starter-vector-store-couchbaseartifactId>
dependency>
或添加到 Gradle build.gradle 构建文件中:
dependencies {
implementation 'org.springframework.ai:spring-ai-couchbase-store-spring-boot-starter'
}
Couchbase 向量搜索仅从版本 7.6 和 Java SDK 版本 3.6.0 开始可用。
请参阅依赖管理部分,将 Spring AI BOM 添加到您的构建文件中。
请参阅工件仓库部分,将里程碑和/或快照仓库添加到您的构建文件中。
向量存储实现可以使用默认选项为您初始化配置的存储桶、范围、集合和搜索索引,但您必须通过指定相应构造器中的 initializeSchema 布尔值来选择加入。
这是一个破坏性变更!在早期版本的 Spring AI 中,此模式初始化是默认发生的。
请查看向量存储的配置参数列表,了解默认值和配置选项。
此外,您需要一个配置好的 EmbeddingModel bean。有关更多信息,请参阅 EmbeddingModel 部分。
现在,您可以在应用程序中自动注入 CouchbaseSearchVectorStore 作为向量存储:
@Autowired VectorStore vectorStore;
// ...
List <Document> documents = List.of(
new Document("Spring AI rocks!! Spring AI rocks!! Spring AI rocks!! Spring AI rocks!! Spring AI rocks!!", Map










