Cloudflare AI Search:为您的智能体提供数据搜索引擎

今天,我们很高兴地宣布对 Cloudflare AI Search 进行一些开发者体验改进,使其能够开箱即用地轻松管理搜索解决方案。以前,您必须手动拼接 Cloudflare 原语(Workers AI、AI Gateway、Vectorize、R2、Browser Run)的组件,但现在,AI Search 可以自动完成这些工作,并且做得更好。我们的目标是让您的智能体拥有自己的搜索引擎,能够轻松找到数据,为自己和人类提供更好的答案。
我们还分享了 AI Search 定价的早期预览,以便您了解其扩展方式。我们设计的定价模式具有可预测性和可扩展性:当您使用默认模型时,嵌入和重排序是免费的,因此无需担心预测 token 数量。
在 AI Search 中,用户现在可以:
为您的智能体索引数据集合:让结构化和非结构化数据易于访问,供您的智能体构建使用,从单个文件到您拥有的网站。(目前,它必须是您 Cloudflare 账户中的区域,但很快会有更多验证所有权的方式。)为您的网站跳过站点地图:以前,AI Search 要求网站具有站点地图才能使用网站集成。现在,您可以选择“发现”解析选项,将没有站点地图的网站添加为来源。获取用于跨命名空间搜索的单一公共端点:当您在命名空间上启用公共 URL 时,您可以获得一个 /search 和 /mcp 端点,无需身份验证即可一次搜索多个实例或网站,从而轻松与客户共享。将您自己的自定义域置于公共端点之上:您现在可以将自己的域添加到公共 URL 上,从而为您的 /search 和 /mcp 端点打上品牌标识(例如,search.example.com/mcp)。您还可以添加 Cloudflare Access 来创建私有搜索实例。使用 AI Search 插件为基于 EmDash 构建的站点添加语义搜索:如果您的站点运行在 EmDash(我们的开源 CMS)上,则 AI Search 插件 会为您的内容添加语义搜索。预览 AI Search 的新定价模型:我们希望定价可预测且随您扩展,因此我们内置了嵌入和重排序的成本:当您使用 Workers AI 目录中的精选模型时,它们是免费的。
最后,我们还将分享 AI Search 在我们自己平台上的使用示例,包括 Cloudflare.com、我们的开发者文档、EmDash、Cloudflare Dev Stack MCP——甚至包括您正在阅读的这篇博客文章(试试 cmd+K)。
AI Search 的实际应用:为新的 Cloudflare Dev Stack MCP 提供支持
我们使用 AI Search 的方式之一是在我们新的 Cloudflare Dev Stack MCP 中,您今天可以在我们的 AI Playground 中试用。它为编码智能体提供了来自 Cloudflare 开发者生态系统的当前、带引用的文档,以便它们基于最新功能和修复进行构建,而不是过时的训练数据。
以下是我们使用 AI Search 中当前可用的功能构建它的方法:
1. 索引每个表面
我们为每个 Cloudflare 拥有的表面创建了一个 AI Search 实例:Docs、Blog、API Docs、Community、Astro、Vite、Vitest、Hono、Replicate、OpenNext。(这些都属于 Cloudflare。)
它们跨越不同的领域,但由于 Cloudflare 拥有网站数据,AI Search 能够将它们视为一个整体,并以相同的方式摄取。将 AI Search 指向一个站点或一组站点,它就会处理爬取、摄取、嵌入和检索。创建实例只需一条命令,对于没有站点地图的网站,您可以添加 --parse-type discover 来通过跟踪链接(由 Browser Run 的 /crawl 提供支持)查找页面:
npx wrangler ai-search instance create cloudflare-community \
--namespace dev-stack \
--source https://community.cloudflare.com \
--type web-crawler \
--parse-type discover
2. 将实例合并为一次搜索
现在到了有趣的部分:跨所有 10 个实例回答单个查询。有两种方法可以实现。
选项 A:在 Worker 中(我们在 Cloudflare Stack MCP 中采用的方法)
我们将命名空间绑定到 Worker,以创建远程 MCP 服务器,并在所有 10 个实例中执行一次多实例调用。我们选择此路径是因为我们将堆栈搜索集成到
,因此它作为工具与代理已连接的 Cloudflare 工具一起提供。
__Cloudflare 的 MCP 服务器__绑定,在 wrangler.jsonc 中:
{
"ai_search_namespaces": [
{ "binding": "AI_SEARCH", "namespace": "cloudflare-stack" }
]
}
然后,单个工具进行一次调用,即可在您指定的实例间扇出:
// 一次工具调用,即可同时搜索命名空间中的每个表面。
context.registerTool(
'search_dev_stack',
{
description: '搜索 Cloudflare 技术栈中的当前文档。',
inputSchema: z.object({ query: z.string() }),
},
async ({ query }) => {
const res = await context.env.AI_SEARCH.search({
query,
ai_search_options: {
instance_ids: ['developers-cloudflare-com', 'astro', /* ...每个表面 */],
retrieval: { max_num_results: 10 },
reranking: { enabled: true },
},
})
// res.chunks 返回时带有引用和来源实例的标签。
return { content: [{ type: 'text', text: format(res.chunks) }] }
}
)
选项 B:在公共端点上启用(无需代码)
如果您完全不想编写 Worker,可以在命名空间上启用公共 URL。您立即获得 /search 和 /mcp 端点,它们查询每个实例,无需身份验证,也无需部署任何内容。

当您像我们一样将搜索集成到现有应用或 MCP 服务器中时,请使用 Worker。或者,当您只想一键获得可共享的搜索端点时,请使用公共端点。
3. 品牌化并锁定它
公共端点带有默认的公共 URL,但您可以在其上放置自己的自定义域名来品牌化端点(例如,search.example.com/mcp
)。
如果搜索应该是私有的,请在域名前添加 Cloudflare Access。端点现在需要登录,因此只有授权人员(或代理)才能查询它。

亲自尝试:使用 Dev Stack MCP
使用 Cloudflare Dev Stack MCP 服务器,您可以询问任何工具,或描述您想要构建的应用,您将获得关于如何在 Cloudflare 堆栈上最好地构建它的当前、引用的答案。

AI Playground 值得一试,但真正的魔力在于将 MCP 连接到您的编码代理中,这样堆栈的当前文档只需一个工具调用即可获得。这取代了通常的回退方法(先网络搜索然后获取完整页面),后者速度慢、消耗大量令牌,并且经常落在错误或过时的来源上。要与您选择的代理一起使用,请将 Dev Stack MCP URL 放入您的 MCP 配置中。例如:
{
"mcpServers": {
"dev-stack": { "url": "https://stack.mcp.cloudflare.com/mcp" }
}
}
为我们的博客、开发者文档和 Cloudflare.com 提供搜索支持
我们以客户的方式使用 AI 搜索进行构建:Cloudflare 博客的搜索已经运行在它上面,今天开发者文档和 Cloudflare.com 也加入了。所有这些都使用混合搜索,将语义和关键词结合在同一个查询中,因此它既能处理开放式的“这是做什么的”问题,也能处理名称或关键词的精确查找。我们最近在 EmDash(我们新的开源 CMS)上重建了博客,而我们的新
EmDash AI 搜索集成 现在为搜索提供支持。你也可以将它添加到自己的 EmDash 站点,并立即获得针对你内容的相同搜索。
AI 搜索尊重所有机器人策略
AI 搜索由 Browser Run /crawl
在后台驱动,但更进一步,以它自己的机器人身份标识自己:Cloudflare-AI-Search
。就像 Browser Run 一样,它遵循 robots.txt,以不可变的公共用户代理标识自己,并尊重站点设置的任何机器人控制。
预览定价:可预测的定价
AI 搜索目前处于测试阶段,免费使用,计费尚未启用;在开始计费前,我们会通过邮件提前通知你。随着我们走向正式可用,以下是摄取、存储和查询以及嵌入和重排序的定价预览(预览价格在计费开始前可能更改):
| 基础摄取 |
| 图像处理(附加) |
| 存储数据 |
| 语义(混合和向量搜索) |
| 全文 |
| 摄取和查询 |
† 每月 5M 摄取 tokens 的单一池,涵盖当前支持的任何文件类型(例如,文本、图像)。‡ 每月 2,000 查询的单一池,在两种查询类型之间共享。
我们的目标是提供你可预测的定价,从你的搜索所依赖的模型开始。嵌入将你的文本转换为搜索匹配的向量,重排序重新排列结果,使最相关的排在前面。两者在使用 AI 搜索默认设置或使用 Workers AI 目录中的选定模型时免费运行,因此索引和每次搜索背后的模型不是你需要担心的成本。答案生成和查询重写是可选的步骤,在你选择的模型上运行,按 Workers AI 使用量计费,或者你可以使用 AI Gateway 积分与任何模型/提供商。
预览定价的示例账单
以下是在 Workers 付费计划上,为 20,000 文档数据源(约 20M tokens 文本)加上 1,000 张图像(假设每张约 1,000 tokens)创建新 AI 搜索实例的月度账单示例,每月 30,000 次语义查询,使用默认的 AI 搜索嵌入和重排序模型。摄取分块,重叠约 10%,如下面的 × 1.1 所示:
---|---|---|---|
基础摄取 | (20M tokens 文本 + 1M tokens 图像) × 1.1 - 5M 免费 = 18.1M tokens | $0.75 / 1M tokens | $13.58 |
图像附加 | 1M tokens 图像 × 1.1 = 1.1M tokens | $0.50 / 1M tokens | $0.55 |
存储 | ~1.2 GB(在 10 GB 免费额度内) | $2 / GB-月 | $0 |
查询(语义) | 30,000 - 2,000 免费 = 28K | $0.75 / 1k | $21.00 |
嵌入(Workers AI) | 所选 Workers AI 模型包含用量 | $0 | $0 |
重排序(Workers AI) | 所选 Workers AI 模型包含用量 | $0 | $0 |
图像计入基础摄取量,并额外产生图像附加费用。存储假设每个文档约 10 KB,每张图像约 1 MB。索引主要是一次性成本,因此后续月份主要是查询费用,接近 $21。
立即开始
AI 搜索现已可供启用和使用。将其指向您的站点,开启混合搜索以同时进行语义和关键词匹配,您就拥有了一个针对自己数据的搜索引擎,可供您的代理使用。通过一条命令即可启动:
npx wrangler ai-search create my-search \
--namespace my-namespace \
--source https://my-website.com \
--type web-crawler \
--hybrid-search
从那里,查询它,通过 /mcp 将其接入代理,或者将自定义域名放在公共 /search 端点上,与您的用户共享。查看 AI 搜索文档 了解更多信息。
