跳到主要内容

ClickHouse

ClickHouseは、完全なSQLサポートと分析クエリの作成を支援する幅広い機能を備えた、リアルタイムアプリケーションと分析のための最速かつ最も効率的なオープンソースデータベースです。最近追加されたデータ構造と距離検索関数(cosineDistanceなど)、および近似最近傍検索インデックスにより、ClickHouseは高性能でスケーラブルなベクトルデータベースとして使用でき、SQLでベクトルを保存および検索することができます。

Maven依存関係


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

API

LangChain4jはClickHouseクライアントとしてclient-v2を使用します。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();