エージェントは AI Search を使い、インデックス済みコンテンツから関連情報を取得し、AI モデルの呼び出し を補強できます。AI Search はインデックス作成、検索、任意のチャット補完まで、検索パイプラインをまとめて管理します。
AI Search は、次のようなときに使います。
- プロダクトドキュメント、サポートコンテンツ、ユーザーファイル、社内ナレッジベースを検索する。
- モデルを呼び出す前に、関連するチャンクを取得する。
- 検索基盤を自前で作らず、マネージドなインデックスを使う。
- R2 バケット、Web サイト、アップロードしたファイルのコンテンツを問い合わせる。
AI Search を Worker にバインドし、エージェントのメソッドからインスタンスをクエリします。
import { Agent, callable } from "agents";
export class SearchAgent extends Agent {
@callable()
async searchKnowledge(query) {
const instance = this.env.AI_SEARCH.get("my-instance");
const results = await instance.search({
messages: [{ role: "user", content: query }],
});
return results;
}
}import { Agent, callable } from "agents";
type Env = {
AI_SEARCH: AiSearchNamespace;
};
export class SearchAgent extends Agent<Env> {
@callable()
async searchKnowledge(query: string) {
const instance = this.env.AI_SEARCH.get("my-instance");
const results = await instance.search({
messages: [{ role: "user", content: query }],
});
return results;
}
}回答を生成するときは、chatCompletions() で関連コンテンツの取得と応答生成を一度に行います。
const instance = this.env.AI_SEARCH.get("my-instance");
const response = await instance.chatCompletions({
messages: [{ role: "user", content: "How do I deploy an Agent?" }],
model: "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
ai_search_options: {
retrieval: {
max_num_results: 5,
},
},
});const instance = this.env.AI_SEARCH.get("my-instance");
const response = await instance.chatCompletions({
messages: [{ role: "user", content: "How do I deploy an Agent?" }],
model: "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
ai_search_options: {
retrieval: {
max_num_results: 5,
},
},
});エージェントが AI Search インスタンスを名前で参照するときは、ai_search_namespaces バインディングを使います。
{
"ai_search_namespaces": [
{
"binding": "AI_SEARCH",
"namespace": "default",
"remote": true
}
]
}[[ai_search_namespaces]]
binding = "AI_SEARCH"
namespace = "default"
remote = truewrangler dev でのローカル開発中に、デプロイ済みの AI Search インスタンスをクエリするには remote: true を指定します。
AI Search
Web サイト、R2 バケット、アップロードしたファイルに対するマネージドな検索パイプラインを作成します。
Workers バインディング
Workers のコードから AI Search を直接クエリします。
AI Search インスタンスを作成する
最初の AI Search インスタンスを作成し、最初のクエリを実行します。