跳到主要内容

ClickHouse

ClickHouse 是最快且资源效率最高的开源数据库,用于实时应用和分析,具有完整的 SQL 支持和广泛的函数来帮助用户编写分析查询。最近添加的数据结构和距离搜索函数(如 cosineDistance)以及近似最近邻搜索索引使 ClickHouse 能够作为高性能和可扩展的向量数据库来存储和搜索向量,并使用 SQL。

Maven 依赖


<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-clickhouse</artifactId>
<version>1.0.0-beta3</version>
</dependency>

API

LangChain4j 使用 client-v2 作为 ClickHouse 客户端。要创建 ClickHouseEmbeddingStore 实例,您需要提供一个 ClickHouseSettings

// 将元数据键映射到 ClickHouse 数据类型
Map<String, ClickHouseDataType> metadataTypeMap = new HashMap<>();

ClickHouseSettings settings = ClickHouseSettings.builder()
.url("http://localhost:8123")
.table("langchain4j_table")
.username(System.getenv("USERNAME"))
.password(System.getenv("PASSWORD"))
.dimension(embeddingModel.dimension())
.metadataTypeMap(metadataTypeMap)
.build();

然后您可以创建嵌入存储:

ClickHouseEmbeddingStore embeddingStore = ClickHouseEmbeddingStore.builder()
.settings(settings)
.build();

示例