跳到主要内容

网页搜索

OPL 数据空间的 Web Search 允许语言模型访问互联网上的实时信息。如果搜索流程表现异常,可以按本页逐项排查。

常见问题

0. 某个组织能用,另一个组织里却像是被禁用了

在启用了组织的部署中,Web Search 可以按组织单独关闭、继承或覆盖。即使实例级默认开启,某个组织里也可能被显式禁用。

处理方法:

  1. 在管理切换器中切换到出问题的组织
  2. 重新检查 管理面板 > 设置
  3. 确认该组织是继承实例默认值,还是有自己的功能开关覆盖

如果用户反馈搜索 UI 整块消失,先按作用域 / 配置问题排查,而不是直接怀疑 provider 宕机。


1. 通过 HTTP 代理时搜索结果能出,但正文抓取失败

典型报错包括:

  • [Errno -3] Temporary failure in name resolution
  • Connection timeout to host
  • The content provided is empty

原因是网页内容抓取器默认不会读取 http_proxy / https_proxy

解决方法:

  1. 前往 管理面板 > 设置 > Web Search
  2. 启用 Trust Proxy Environment
  3. 保存

或者设置环境变量:

WEB_SEARCH_TRUST_ENV=True

这是一个 PersistentConfig 变量,也可以通过管理界面配置。


2. 使用 SearXNG 时出现 403 Forbidden

如果日志里出现 403 Client Error: Forbidden,通常是因为 SearXNG 没有开启 json 输出格式。

请在 settings.yml 中加入:

search:
  formats:
    - html
    - json

然后重启 SearXNG。


3. 抓到的内容为空,或者质量很差

通常有两个原因:上下文窗口太小,或正文提取器配置不合适。

可尝试:

  • 增大上下文长度:网页常常超过 4,000 到 8,000 token。若模型只有 2,048 token,上下文会被严重截断。建议至少提升到 8,192,复杂网页场景更适合 16,384+。
  • 调整结果数量:通过 WEB_SEARCH_RESULT_COUNT 控制每次抓取结果数。
  • 更换内容加载器:对 JavaScript 很重的网站,可以把 WEB_LOADER_ENGINE 换成 playwright;也可以尝试 firecrawltavily 等提取器。

关于上下文窗口不足的问题,详见 RAG 排障指南


4. 连接超时

如果 Web Search 经常超时,可以检查:

  • 降低并发搜索请求:
WEB_SEARCH_CONCURRENT_REQUESTS=1

Brave 免费层尤其需要这样做。

  • 降低页面抓取并发:
WEB_LOADER_CONCURRENT_REQUESTS=1
  • 检查 OPL 数据空间是否真的能访问搜索引擎本身以及搜索结果页面

相关环境变量

更完整的变量说明见 环境变量配置文档

常用变量:

变量说明
WEB_SEARCH_TRUST_ENV内容抓取时是否读取代理环境变量
WEB_SEARCH_RESULT_COUNT抓取多少条搜索结果
WEB_SEARCH_CONCURRENT_REQUESTS对搜索引擎的并发请求数
WEB_LOADER_CONCURRENT_REQUESTS网页正文抓取并发数
WEB_LOADER_ENGINE内容提取引擎