ベクトル検索は、クエリをベクトル埋め込みに変換し、意味が近いチャンクを見つけます。すべての AI Search インスタンスでデフォルトで有効です。検索モードの概要は 検索モード を参照してください。
AI Search インスタンスには、Vectorize を使った組み込みベクトルインデックスが含まれます。ベクトルインデックスはコンテンツから生成した埋め込みを保存し、自動で作成・維持されます。Vectorize インデックスを自分で作成したり管理したりする必要はありません。
埋め込みモデル が、ベクトルインデックスのベクトル次元を決めます。埋め込みモデルはインスタンス作成時に設定し、作成後は変更できません。
ベクトル検索は、すべてのインスタンスのデフォルトのインデックス方法です。キーワード検索 のみに切り替えるには、index_method.vector を false にします。vector または keyword の少なくとも一方は true である必要があります。
const instance = await env.AI_SEARCH.create({
id: "my-instance",
index_method: {
vector: false,
keyword: true,
},
});キーワード検索がインスタンスで有効でも、ai_search_options.retrieval.retrieval_type を使うと、リクエスト単位でベクトル検索のみにできます。
const instance = env.AI_SEARCH.get("my-instance");
const results = await instance.search({
messages: [{ role: "user", content: "What is Cloudflare?" }],
ai_search_options: {
retrieval: {
retrieval_type: "vector",
},
},
});ベクトル検索を使うと、各チャンクに scoring_details オブジェクトが含まれます。
| フィールド | 型 | 説明 |
|---|---|---|
vector_score |
number | ベクトル類似度スコア(0 から 1)。 |
vector_rank |
number | 結果セット内の順位です。 |
ベクトルインデックスの制限は 制限と料金 を参照してください。