聊天界面文档

网页搜索

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始

网页搜索

聊天界面具有强大的网页搜索功能。网页搜索功能工作原理的高级概述

  1. 使用 TASK_MODEL 从用户提示生成适当的搜索查询
  2. 通过外部提供者(例如 Serper)或通过本地抓取 Google 结果执行网页搜索
  3. 将每个搜索结果加载到 Playwright 中并抓取
  4. 将抓取的 HTML 转换为 Markdown 树,其中标题作为父级
  5. 为每个 Markdown 元素创建嵌入
  6. 使用向量相似性搜索(内积)查找与用户查询最接近的嵌入
  7. 获取相应的 Markdown 元素及其父级,最多 8000 个字符
  8. 将信息作为上下文提供给模型

提供者

网页搜索支持许多提供者,或者您可以使用本地抓取的 Google 结果。

本地

对于本地抓取的 Google 结果,请在 .env.local 中添加 USE_LOCAL_WEBSEARCH=true。请注意,您可能会遇到速率限制,因为我们没有尝试使流量看起来合法。为了避免这种情况,您可以选择一个提供者(例如 Serper),官方实例上使用了该提供者。

SearXNG

SearXNG 是一款免费的互联网元搜索引擎,它聚合来自各种搜索服务和数据库的结果。用户不会被追踪或分析。

您可以通过 SEARXNG_QUERY_URL 启用支持,其中 <query> 将被替换为查询关键字。请参阅 官方文档 以获取更多信息

示例:https://searxng.yourdomain.com/search?q=<query>&engines=duckduckgo,google&format=json

第三方

也支持许多第三方提供者。官方实例使用 Serper。

YDC_API_KEY=docs.you.com api key here
SERPER_API_KEY=serper.dev api key here
SERPAPI_KEY=serpapi key here
SERPSTACK_API_KEY=serpstack api key here
SEARCHAPI_KEY=searchapi api key here

屏蔽/允许列表

您可以屏蔽或允许来自网页搜索结果的特定网站。使用允许列表时,只使用允许列表中的链接。对于支持的搜索引擎,这些链接将直接从结果中屏蔽。结果中任何**部分或完全匹配**条目的 URL 都将被过滤掉。

WEBSEARCH_BLOCKLIST=`["youtube.com", "https://example.com/foo/bar"]`
WEBSEARCH_ALLOWLIST=`["stackoverflow.com"]`

禁用 Javascript

默认情况下,Playwright 将执行页面上的所有 Javascript。这可能很密集,在某些网页上,需要高达 6 个核心才能实现全面性能。您可以通过设置 `WEBSEARCH_JAVASCRIPT=false` 来阻止脚本运行。但是,这不会阻止 HTML 中内联的 Javascript。

< > 更新 在 GitHub 上