[ PROMPT_NODE_23938 ]
AI Search 配置说明
[ SKILL_DOCUMENTATION ]
# AI Search 配置
## Worker 设置
c
// wrangler.jsonc
{
"ai": { "binding": "AI" }
}
typescript
interface Env {
AI: Ai;
}
const answer = await env.AI.autorag("my-instance").aiSearch({
query: "How do I configure caching?",
model: "@cf/meta/llama-3.3-70b-instruct-fp8-fast"
});
## 数据源
### R2 存储桶
仪表板:AI Search → 创建实例 → 选择 R2 存储桶
**支持的格式:** `.md`, `.txt`, `.html`, `.pdf`, `.doc`, `.docx`, `.csv`, `.json`
**自动索引的元数据:** `filename`, `folder`, `timestamp`
### 网站爬虫
要求:
- 域名在 Cloudflare 上
- 根目录下有 `sitemap.xml`
- 机器人防护必须允许 `CloudflareAISearch` 用户代理
## 路径过滤 (R2)
docs/**/*.md # 递归匹配 docs/ 下的所有 .md 文件
**/*.draft.md # 排除(用于排除模式)
## 索引
- **自动:** 每 6 小时
- **强制同步:** 仪表板按钮(同步之间有 30 秒速率限制)
- **暂停:** 设置 → 暂停索引(现有索引仍可搜索)
## 服务 API 令牌
仪表板:AI Search → 实例 → 使用 AI Search → API → 创建令牌
权限:
- **读取** - 搜索操作
- **编辑** - 实例管理
安全存储:
bash
wrangler secret put AI_SEARCH_TOKEN
## 多环境
toml
# wrangler.toml
[env.production.vars]
AI_SEARCH_INSTANCE = "prod-docs"
[env.staging.vars]
AI_SEARCH_INSTANCE = "staging-docs"
typescript
const answer = await env.AI.autorag(env.AI_SEARCH_INSTANCE).aiSearch({ query });
## 监控
typescript
const instances = await env.AI.autorag("_").listInstances();
console.log(instances.find(i => i.name === "docs"));
仪表板显示:已索引文件、状态、上次索引时间、存储使用情况。