Skip to Content

Qdrant ベクトルストア

QdrantVectorクラスは、Qdrantを使用したベクトル検索を提供します。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
削除するインデックスの名前

updateVector()

indexName:

string
更新するインデックスの名前

id:

string
更新するベクトルのID

update:

{ vector?: number[]; metadata?: Record<string, any>; }
更新するベクトルやメタデータを含むオブジェクト

指定されたインデックス内のベクトルやそのメタデータを更新します。ベクトルとメタデータの両方が提供された場合、両方が更新されます。一方のみが提供された場合、そのみが更新されます。

deleteVector()

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); // Additional error context } }

関連