Qdrant Vector Store
QdrantVector クラスは、ベクトル類似性検索エンジンである Qdrant を使用したベクトル検索を提供します。 これは、追加のペイロードと拡張フィルタリングサポートを備えたベクトルを保存、検索、管理するための便利なAPIを備えた、プロダクション対応のサービスを提供します。
コンストラクタオプション
url:
string
QdrantインスタンスのREST URL。例: https://xyz-example.eu-central.aws.cloud.qdrant.io:6333
apiKey:
string
オプションのQdrant APIキー
https:
boolean
接続を設定する際にTLSを使用するかどうか。推奨されます。
メソッド
createIndex()
indexName:
string
作成するインデックスの名前
dimension:
number
ベクトルの次元(埋め込みモデルに一致する必要があります)
metric?:
'cosine' | 'euclidean' | 'dotproduct'
= cosine
類似性検索のための距離メトリック
upsert()
vectors:
number[][]
埋め込みベクトルの配列
metadata?:
Record<string, any>[]
各ベクトルのメタデータ
ids?:
string[]
オプションのベクトルID(提供されない場合は自動生成)
query()
indexName:
string
クエリを実行するインデックスの名前
queryVector:
number[]
類似ベクトルを見つけるためのクエリベクトル
topK?:
number
= 10
返す結果の数
filter?:
Record<string, any>
クエリのメタデータフィルター
includeVector?:
boolean
= false
結果にベクトルを含めるかどうか
listIndexes()
文字列としてインデックス名の配列を返します。
describeIndex()
indexName:
string
説明するインデックスの名前
返される内容:
interface IndexStats {
dimension: number;
count: number;
metric: "cosine" | "euclidean" | "dotproduct";
}
deleteIndex()
indexName:
string
削除するインデックスの名前
updateIndexById()
indexName:
string
更新するインデックスの名前
id:
string
更新するベクトルのID
update:
{ vector?: number[]; metadata?: Record<string, any>; }
更新するベクトルおよび/またはメタデータを含むオブジェクト
指定されたインデックス内のベクトルおよび/またはそのメタデータを更新します。ベクトルとメタデータの両方が提供された場合、両方が更新されます。どちらか一方のみが提供された場合は、その部分のみが更新されます。
deleteIndexById()
indexName:
string
ベクトルを削除するインデックスの名前
id:
string
削除するベクトルのID
指定されたインデックスからIDによってベクトルを削除します。
レスポンスタイプ
クエリ結果はこの形式で返されます:
interface QueryResult {
id: string;
score: number;
metadata: Record<string, any>;
vector?: number[]; // Only included if includeVector is true
}
エラーハンドリング
ストアはキャッチ可能な型付きエラーをスローします:
try {
await store.query({
indexName: "index_name",
queryVector: queryVector,
});
} catch (error) {
if (error instanceof VectorStoreError) {
console.log(error.code); // 'connection_failed' | 'invalid_dimension' | etc
console.log(error.details); // 追加のエラーコンテキスト
}
}