seekdb Vector 与 Spring AI Alibaba 集成
seekdb 支持向量类型存储、向量索引、embedding 向量搜索的能力。可以将向量化后的数据存储在 seekdb,供下一步的搜索使用。
Spring AI Alibaba 开源项目基于 Spring AI 构建,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践。它简化了 AI 应用的开发流程,并适应云原生的基础设施,可以帮助开发者快速构建 AI 应用。
本文将展示如何将 Spring AI Alibaba 与 seekdb 向量搜索能力集成,实现数据导入和相似性搜索功能。通过配置向量存储和搜索服务,开发者可以轻松构建基于 seekdb 的 AI 应用场景,支持文本相似度搜索、内容推荐等高级功能。
前提条件
-
您已完成部署 seekdb。
-
下载 JDK 17+。确保安装 Java 17 并配置环境变量。
-
下载 Maven。确保安装 Maven 3.6+,以构建项目和管理依赖。
-
下载 IntelliJ IDEA 或 Eclipse,根据自己的操作系统选择合适的版本进行安装。
步骤一:获取数据库连接信息
联系 seekdb 部署人员或者管理员获取相应的数据库连接串,例如:
mysql -h$host -P$port -u$user_name -p$password -D$database_name
参数说明:
-
$host:提供 seekdb 连接 IP 地址。 -
$port:提供 seekdb 连接端口,默认是2881。 -
$database_name:需要访问的数据库名称。提示连接的用户需要拥有该数据库的
CREATE、INSERT、DROP和SELECT权限。 -
$user_name:提供数据库连接账户。 -
$password:提 供账户密码。
步骤二:搭建 Maven 项目
Maven 是本文将用到的项目管理和构建工具。在此步骤创建一个 Maven 项目,并通过配置 pom.xml 文件添加项目依赖。
创建项目
-
使用 Maven 命令创建项目。
mvn archetype:generate -DgroupId=com.alibaba.cloud.ai.example -DartifactId=vector-seekdb-example -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -
进入项目目录。
cd vector-seekdb-example
配置 pom.xml 文件
pom.xml 文件是 Maven 项目的核心配置文件,用于管理项目的依赖、插件、构建配置等信息。接下来,你需要修改 pom.xml 文件,添加 Spring AI Alibaba、seekdb 向量存储以及其他必要的依赖。
打开 pom.xml 文件,并将以下内容替换原有内容。
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.alibaba.cloud.ai.example</groupId>
<artifactId>spring-ai-alibaba-vector-databases-example</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>vector-seekdb-example</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 阿里云 AI Starter -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
</dependency>
<!-- Spring Boot Web 支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring AI 自动配置 -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-spring-boot-autoconfigure</artifactId>
</dependency>
<!-- Spring JDBC 支持 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<!-- Transformers 模型支持 -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-transformers</artifactId>
</dependency>
<!-- seekdb 向量数据库 Starter -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-store-oceanbase</artifactId>
<version>1.0.0.2</version>
</dependency>
<!-- OceanBase JDBC 驱动 -->
<dependency>
<groupId>com.oceanbase</groupId>
<artifactId>oceanbase-client</artifactId>
<version>2.4.14</version>
</dependency>
</dependencies>
<!-- SNAPSHOT 仓库配置 -->
<repositories>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</project>
步骤三:配置 seekdb 连接信息
此步骤配置 application.yml 文件,以添加 seekdb 连接信息。