Skip to Content
リファレンスRAGCloudflareVector

Cloudflare Vector Store

CloudflareVector クラスは、Cloudflare のエッジネットワークと統合されたベクターデータベースサービスである Cloudflare Vectorize を使用したベクター検索を提供します。

コンストラクタオプション

accountId:

string
Cloudflare アカウントID

apiToken:

string
Vectorize 権限を持つ Cloudflare API トークン

メソッド

createIndex()

indexName:

string
作成するインデックスの名前

dimension:

number
ベクトルの次元(埋め込みモデルに一致する必要があります)

metric?:

'cosine' | 'euclidean' | 'dotproduct'
= cosine
類似性検索のための距離メトリック(dotproductはドット積にマッピングされます)

upsert()

indexName:

string
アップサートするインデックスの名前

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
削除するインデックスの名前

createMetadataIndex()

フィルタリングを可能にするためにメタデータフィールドにインデックスを作成します。

indexName:

string
メタデータフィールドを含むインデックスの名前

propertyName:

string
インデックスを作成するメタデータフィールドの名前

indexType:

'string' | 'number' | 'boolean'
メタデータフィールドのタイプ

deleteMetadataIndex()

メタデータフィールドからインデックスを削除します。

indexName:

string
メタデータフィールドを含むインデックスの名前

propertyName:

string
インデックスを削除するメタデータフィールドの名前

listMetadataIndexes()

インデックスのすべてのメタデータフィールドインデックスを一覧表示します。

indexName:

string
メタデータインデックスを一覧表示するインデックスの名前

updateIndexById()

インデックス内の特定のIDに対してベクトルまたはメタデータを更新します。

indexName:

string
更新するIDを含むインデックスの名前

id:

string
更新するベクトルまたはメタデータの一意の識別子

update:

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

deleteIndexById()

インデックス内の特定のIDに対するベクトルとその関連メタデータを削除します。

indexName:

string
削除するIDを含むインデックスの名前

id:

string
削除するベクトルとメタデータの一意の識別子

レスポンスタイプ

クエリ結果はこの形式で返されます:

interface QueryResult { id: string; score: number; metadata: Record<string, any>; vector?: number[]; }

エラーハンドリング

ストアは、キャッチ可能な型付きエラーをスローします:

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); // 追加のエラーコンテキスト } }

環境変数

必要な環境変数:

  • CLOUDFLARE_ACCOUNT_ID: あなたのCloudflareアカウントID
  • CLOUDFLARE_API_TOKEN: Vectorize権限を持つあなたのCloudflare APIトークン

関連