MariaDB Vector Store
本节将指导您设置 MariaDBVectorStore 来存储文档嵌入并执行相似性搜索。
MariaDB Vector 是 MariaDB 11.7 的一部分,支持存储和搜索机器学习生成的嵌入。 它使用向量索引提供高效的向量相似性搜索功能,支持余弦相似性和欧几里得距离度量。
Prerequisites
- 正在运行的 MariaDB (11.7+) 实例。以下选项可用: ** Docker 镜像 ** MariaDB Server ** MariaDB SkySQL
- 如果需要,为 EmbeddingModel 提供一个 API key,用于生成
MariaDBVectorStore存储的嵌入。
Auto-Configuration
注意: Spring AI auto-configuration、starter modules 的 artifact 名称发生了重大变化。 请参阅 upgrade notes 了解更多信息。
Spring AI 为 MariaDB Vector Store 提供 Spring Boot auto-configuration。
要启用它,请将以下依赖项添加到您项目的 Maven pom.xml 文件:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-vector-store-mariadb</artifactId>
</dependency>
或添加到您的 Gradle build.gradle 构建文件。
dependencies {
implementation 'org.springframework.ai:spring-ai-starter-vector-store-mariadb'
}
提示: 请参阅 Dependency Management 部分,将 Spring AI BOM 添加到您的构建文件中。
向量存储实现可以为您初始化所需的 schema,但您必须通过在适当的构造函数中指定 initializeSchema 布尔值或在 application.properties 文件中设置 ...initialize-schema=true 来选择加入。
注意: 这是一个破坏性更改!在 Spring AI 的早期版本中,此 schema 初始化默认发生。
此外,您需要一个配置的 EmbeddingModel bean。
请参阅 EmbeddingModel 部分了解更多信息。
例如,要使用 OpenAI EmbeddingModel,请添加以下依赖项:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
提示: 请参阅 Artifact Repositories 部分,将 Maven Central 和/或 Snapshot Repositories 添加到您的构建文件中。
现在您可以在应用程序中自动装配 MariaDBVectorStore