跳转到内容
搜索文档

NLWeb

最后更新 查看 MarkdownAgent 设置

使用 NLWeb 与 Cloudflare AI Search 在网站上启用对话式搜索。此模板抓取你的网站、为内容建立索引,并部署 NLWeb 标准端点,为访客与 AI Agent 提供服务。

什么是 NLWeb

NLWeb 是 Microsoft 开发的开源项目,定义了网站自然语言查询的标准协议。其目标是让每个网站都像对话式 AI 应用一样易于访问和交互,使访客与 AI Agent 都能可靠地查询站点内容。它通过暴露两个关键端点实现:

  • /ask:用于用户查询的对话端点
  • /mcp:供 AI Agent 使用的结构化 Model Context Protocol (MCP) 端点

如何使用

你可以通过 AI Search 仪表板直接在网站上部署 NLWeb:

  1. 登录 Cloudflare 仪表板

  2. 前往 AI > AI Search

    Go to AI Search ↗
  3. 选择 Create AI Search(创建 AI Search)

  4. 选择 Website(网站) 作为数据源。

  5. 按照说明创建 AI Search 实例。

  6. 前往实例的 Settings(设置)

  7. 找到 NLWeb Worker 并选择 Enable AI Search for your website(为你的网站启用 AI Search)

完成后,AI Search 将为你部署 NLWeb Worker,使你可以使用 NLWeb API 端点。

此模板包含的内容

选择 NLWeb Website 选项会在普通 AI Search 基础上进行扩展,针对内容密集型网站进行定制,并提供在站点上采用 NLWeb 作为对话式搜索标准所需的一切。具体包括:

  • 网站作为数据源: 使用 Website 数据源选项,通过 Rendered Sites 选项抓取并摄取页面。
  • 内容密集型网站的默认配置: 应用针对发布与内容丰富网站优化的 embedding 与检索配置。
  • NLWeb Worker 部署: 自动从 NLWeb Worker 模板 启动 Cloudflare Worker。

Worker 包含的内容

部署的 Worker 提供两个端点:

  • /ask:NLWeb 标准对话端点
    • 在根路径(/)提供对话 UI
    • 提供可嵌入的预览 widget(/snippet.html
  • /mcp:供受信任 AI Agent 使用的 NLWeb MCP server 端点

这些端点为访客与 Agent 提供结构化内容访问。

在网站上使用

你可以使用可嵌入片段将搜索 UI 直接添加到网站。例如:

<!-- Add css on head -->
<link rel="stylesheet" href="https://ask.example.com/nlweb-dropdown-chat.css" />
<link rel="stylesheet" href="https://ask.example.com/common-chat-styles.css" />

<!-- Add container on body -->
<div id="docs-search-container"></div>

<!-- Include JavaScript -->
<script type="module">
	import { NLWebDropdownChat } from "https://ask.example.com/nlweb-dropdown-chat.js";

	const chat = new NLWebDropdownChat({
		containerId: "docs-search-container",
		site: "https://ask.example.com",
		placeholder: "Search for docs...",
		endpoint: "https://ask.example.com",
	});
</script>

这使你可以从自己的域名直接提供对话式 AI 搜索,并控制访客与 Agent 如何访问你的内容。

修改或更新 Worker

你可能希望自定义 Worker,例如调整可嵌入片段的 UI。此时,我们建议使用 /ask 端点进行查询,并在其上构建自己的 UI。但你也可以选择修改 Worker 中可嵌入 UI 的代码。

若 NLWeb 标准更新,你可以更新 Worker 以保持兼容并获取最新更新。

应用更改或更新的最简单方式是重新部署 Worker 模板:

  1. 使用上方的 Deploy to Cloudflare 按钮将 Worker 模板部署到你的 Cloudflare 账户。
  2. RAG_ID 环境变量字段中输入 AI Search 的名称。
  3. 点击 Deploy。
  4. 在 Workers 仪表板选择 GitHub/GitLab 图标。
  5. 克隆为你的 Worker 创建的仓库。
  6. 进行修改,然后 commit 并 push 更改到仓库以更新 Worker。

现在你可以将此 Worker 用作网站的新 NLWeb 端点。

这篇文档对您有帮助吗?