跳到主要内容

Brave

注意

本教程为社区贡献内容,不属于 OPL 数据空间团队的官方支持范围。它主要演示如何按你的具体场景定制 OPL 数据空间。若想参与贡献,请查看贡献指南。

提示

关于 Web Search 相关环境变量的完整列表,包括并发、返回结果数量等,请参阅 环境配置文档。

Troubleshooting

如果 Web Search 出现问题,请先查看 Web Search 故障排查指南,里面覆盖了代理配置、连接超时、空内容等常见问题。

Brave API​

Docker Compose 配置​

把下面这些环境变量加入 OPL 数据空间的 docker-compose.yaml:

services:
  open-webui:
    environment:
      ENABLE_WEB_SEARCH: True
      WEB_SEARCH_ENGINE: "brave"
      BRAVE_SEARCH_API_KEY: "YOUR_API_KEY"
      WEB_SEARCH_RESULT_COUNT: 3
      WEB_SEARCH_CONCURRENT_REQUESTS: 1

限流说明(免费层)​

Brave 免费层 API 的限制非常严格:每秒只能 1 个请求。如果 LLM 在一次回答中生成多个搜索查询,就很容易遇到 HTTP 429 “Too Many Requests”。

对免费层用户的推荐配置:

  • 在 管理员面板 > 设置 > Web Search 中把 “Concurrent Requests” 设为 1
  • 或直接使用环境变量 WEB_SEARCH_CONCURRENT_REQUESTS: 1

自动重试行为​

OPL 数据空间会自动处理 Brave API 返回的 429 限流响应。遇到限流时,系统会:

  1. 等待 1 秒
  2. 自动重试一次
  3. 若重试仍失败,才会真正报错

这意味着,即便你的连接速度足以在 1 秒内连续发出多个请求,自动重试机制通常也能在无需人工干预的情况下恢复。

提示

如果你使用的是 Brave 付费层,并拥有更高的速率额度,可以适当提高 WEB_SEARCH_CONCURRENT_REQUESTS,以换取更快的并行搜索速度。

理解并发与限流

WEB_SEARCH_CONCURRENT_REQUESTS 控制的是单次搜索请求内部的并发,而不是整个应用的全局并发。

  • 什么时候通常没问题:单用户实例,或低流量环境,且用户很少在同一秒同时触发搜索时,把并发设为 1 通常就足以满足免费层限制。
  • 什么时候会出问题:如果多个用户在同一时刻触发搜索, OPL 数据空间会并行处理这些请求。每个用户请求都会创建自己的连接池,因此多个请求可能同时打到 Brave API,从而触发免费层限流。

注意: 如果你运行的是多个活跃用户同时使用 Web Search 的环境,强烈建议升级到付费 API 套餐。免费层并不是为多用户吞吐设计的。