Chat UI 文档
网页搜索
加入 Hugging Face 社区
并获取增强的文档体验
开始使用
网页搜索
Chat UI 具有强大的网页搜索功能。以下是其工作原理的概要概述
- 使用
TASK_MODEL
从用户提示生成适当的搜索查询 - 通过外部提供商(例如 Serper)或本地抓取的 Google 结果执行网页搜索
- 将每个搜索结果加载到 Playwright 并抓取
- 将抓取的 HTML 转换为以标题为父级的 Markdown 树
- 为每个 Markdown 元素创建嵌入
- 使用向量相似度搜索(内积)查找与用户查询最接近的嵌入
- 获取相应的 Markdown 元素及其父级,最多 8000 个字符
- 将信息作为上下文提供给模型


提供商
网页搜索支持多种提供商,或者您可以使用本地抓取的 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。