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 秒内连续发出多个请求,自动重试机制通常也能在无需人工干预的情况下恢复。
提示
如果你使用的是 Brave 付费层,并拥有更高的速率额度,可以适当提高 WEB_SEARCH_CONCURRENT_REQUESTS,以换取更快的并行搜索速度。
理解并发与限流
WEB_SEARCH_CONCURRENT_REQUESTS 控制的是单次搜索请求内部的并发,而不是整个应用的全局并发。
- 什么时候通常没问题:单用户实例,或低流量环境,且用户很少在同一秒同时触发搜索时,把并发设为
1通常就足以满足免费层限制。 - 什么时候会出问题:如果多个用户在同一时刻触发搜索, OPL 数据空间会并行处理这些请求。每个用户请求都会创建自己的连接池,因此多个请求可能同时打到 Brave API,从而触发免费层限流。
注意: 如果你运行的是多个活跃用户同时使用 Web Search 的环境,强烈建议升级到付费 API 套餐。免费层并不是为多用户吞吐设计的。