Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

ハイブリッド検索

最終更新 Markdown で表示Agent セットアップ

ハイブリッド検索は、ベクトル検索とキーワード検索を並行して実行し、結果を統合します。キーワード検索 が有効である必要があります。検索モードの概要は 検索モード を参照してください。

ハイブリッド検索を有効にする

index_method.vectorindex_method.keyword の両方を true に設定します。

const instance = await env.AI_SEARCH.create({
	id: "my-instance",
	index_method: {
		vector: true,
		keyword: true,
	},
	fusion_method: "rrf",
});

ハイブリッド検索を無効にするには、index_method.keywordfalse にします。キーワードインデックスは削除されます。

各検索方法について、取得の動きを調整するために次を設定できます。

融合方法

fusion_method フィールドは、ベクトル結果とキーワード結果の統合方法を制御します。

Value Default Description
rrf はい Reciprocal Rank Fusion。両方の検索方法での順位にもとづいて結果をスコアします。ほとんどの用途で推奨します。
max いいえ 正規化したベクトルスコアとキーワードスコアのうち高い方を使います。一方の検索方法が常に関連性が高い場合に使います。

リランキング

融合のあと、任意でリランキングを適用し、意味的な関連性で結果を並べ替えられます。リランキングは、クエリと各チャンクをまとめて評価するクロスエンコーダーモデルを使い、融合だけよりも精度を上げられます。

リランキングはデフォルトで無効です。有効化と設定は リランキング を参照してください。

リクエスト単位の上書き

個別のリクエストでは、ai_search_options.retrieval で検索設定を上書きできます。

Field Type Description
retrieval_type "vector""keyword"、または "hybrid" 特定の検索モードを強制します。index_method と互換である必要があります。
fusion_method "rrf" または "max" 融合方法を上書きします。
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: "hybrid",
			fusion_method: "rrf",
		},
	},
});

スコアの内訳

ハイブリッド検索が有効なとき、各チャンクには scoring_details オブジェクトが含まれます。

Field Type Description
vector_score number ベクトル類似度スコア(0 から 1)。
keyword_score number 生の BM25 キーワードスコア。
vector_rank number ベクトル結果セット内の順位。
keyword_rank number キーワード結果セット内の順位。
fusion_method string 使った融合方法(rrf または max)。
reranking_score number リランキングモデルのスコア。有効な場合のみ。

上限

キーワード検索を有効にしたインスタンスは、Workers Paid プランでインスタンスあたり最大 500,000 ファイルです。ベクトルのみのインスタンスは 1,000,000 ファイルです。上限の一覧は 上限と料金 を参照してください。

役に立ちましたか?