AI Search:インスタンスに組み込みストレージとネームスペース Workers バインディングが追加
Key Points
- 組み込みストレージで即時インデックス
- ネームスペースで実行時にインスタンス管理
- 複数インスタンスを横断検索可能
Summary
新規に作成された AI Search インスタンスは組み込みストレージとベクターインデックスを標準で持ちます。ファイルを直接アップロードして即時にインデックス化・検索でき、R2 や外部データソースの事前接続は不要です。さらに ai_search_namespaces(バインディング名例: AI_SEARCH)により、ネームスペース単位でインスタンスを実行時に作成・更新・削除でき、複数インスタンスを横断する検索も可能になりました。
Key Points
- 組み込みストレージ + ベクターインデックス:
Items APIまたはダッシュボードへ直接アップロードし、アップロード直後に検索可能。R2 の事前設定は不要。 - ネームスペースバインディング:
ai_search_namespaces(Worker ではenv.AI_SEARCH)を使い、実行時にインスタンスを作成・管理。再デプロイ不要。 - ネームスペースレベル検索:
instance_ids配列を渡すことで複数インスタンスを横断検索し、ランキングされた単一の結果リストを取得可能。 - 既存 API からの移行:従来の
env.AI.autorag()相当の利用はai_search_namespacesへ移行が必要(移行ガイド参照)。
Quick usage (TypeScript)
const instance = env.AI_SEARCH.get("my-instance")
const item = await instance.items.uploadAndPoll("faq.md", content)
const results = await instance.search({ messages: [{ role: "user", content: "onboarding guide" }] })
const instance2 = await env.AI_SEARCH.create({ id: "my-instance" })
const cross = await env.AI_SEARCH.search({ messages: [{ role: "user", content: "What is Cloudflare?" }], ai_search_options: { instance_ids: ["product-docs","customer-abc123"] } })
Migration notes
- wrangler 設定例:
"ai_search_namespaces": [{ "binding": "AI_SEARCH", "namespace": "default" }]を追加。 - 詳細は Workers binding migration と Namespaces のドキュメントを参照してください。