YugabyteDB
YugabyteDB 是一款分布式 SQL 数据库,提供与 PostgreSQL 的兼容性,并支持跨多区域的水平扩展与高可用。YugabyteDB 通过 pgvector 扩展提供原生向量搜索能力,非常适合在分布式环境中存储与查询向量嵌入。
Maven 依赖
备注
由于 YugabyteDB 支持属于 langchain4j-community,将从版本 1.18.1-beta28 或更高版本起可用。
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-yugabytedb</artifactId>
<version>1.18.1-beta28</version>
</dependency>
API
YugabyteDB 集成提供三 个主要类:
YugabyteDBEmbeddingStore
用于存储与搜索向量嵌入的主接口。该类实现 LangChain4j 的 EmbeddingStore 接口,并提供以下方法:
- 添加嵌入(单个或批量)
- 搜索相似嵌入
- 删除嵌入
- 按元数据过滤
YugabyteDBEngine
使用 HikariCP 管理数据库连接与连接池。该类:
- 处理 JDBC 连接配置
- 管理连接池设置(最大池大小、超时等)
- 支持 PostgreSQL JDBC 驱动与 YugabyteDB Smart Driver
- 提供 SSL/TLS 配置选项
YugabyteDBSchema
定义数据库模式配置,包括:
- 表名与列名
- 向量索引类型(HNSW 或 NoIndex)
- 距离度量(COSINE、EUCLIDEAN、DOT_PRODUCT)
- 元数据存储配置
- 表创建设置