–title: 本地 LLM 联网搜索配置:Open WebUI + Brave Search/SearXNG 完整攻略
tags: AI,Ollama,Open WebUI,联网搜索,Brave Search,SearXNG,RAG,本地部署
category: 人工智能
本地 LLM 联网搜索配置:Open WebUI + Brave Search/SearXNG 完整攻略
📌 本文是「AI轻上手」系列教程的第四篇。涵盖 Open WebUI 联网搜索的完整配置流程,包括 Brave Search API 和 SearXNG 两种方案。
目录
- 背景与动机
- 技术原理
- 方案对比与选择
- 方案一:Brave Search API 配置
- 方案二:SearXNG 自托管配置
- 实用场景
- 进阶配置
- 常见问题排查
背景与动机
本地部署 LLM 的核心优势在于数据隐私和零成本,但最大的短板是知识截止日期限制。
典型失效场景:
- “今天深圳的天气怎么样?” → 无法回答
- “最近有什么 AI 领域的重要新闻?” → 无法回答
- “React 19 有哪些新特性?” → 只能基于训练数据推测
在线版 ChatGPT、Claude 均具备联网搜索能力。本地部署模型能否实现同等能力?
可以。且完全免费。
技术原理
Open WebUI 的联网搜索功能基于"检索-生成"两阶段架构:
用户输入问题 ↓ Open WebUI 接收请求 ↓ 调用外部搜索 API(Brave/Google/SearXNG) ↓ 获取搜索结果(标题、摘要、URL) ↓ 将搜索结果拼接至 Prompt 上下文 ↓ DeepSeek 基于实时信息生成回答 ↓ 返回结果(通常附带来源引用)关键点:
- 搜索结果不经过模型训练,每次均为实时获取
- 搜索 API 仅接收"搜索关键词",不接收完整对话历史(取决于配置)
- 最终回答由本地 DeepSeek 生成,对话内容不离开本机
方案对比与选择
Open WebUI 支持多种搜索提供商,对比见下表:
| 搜索提供商 | 费用 | 申请难度 | 稳定性 | 隐私性 | 推荐场景 |
|---|---|---|---|---|---|
| Brave Search API | 免费 2000 次/月 | ⭐ 简单 | ⭐⭐⭐⭐⭐ | 中 | 新手首选 |
| SearXNG | 完全免费无限 | ⭐⭐⭐ 中等 | ⭐⭐⭐⭐ | 高 | 注重隐私 |
| DuckDuckGo | 免费 | ⭐⭐ 较简单 | ⭐⭐⭐ | 中 | 快速测试 |
| Tavily | 免费 1000 次/月 | ⭐ 简单 | ⭐⭐⭐⭐⭐ | 中 | AI 专用搜索 |
| Google PSE | 免费 100 次/天 | ⭐⭐⭐ 较复杂 | ⭐⭐⭐⭐⭐ | 低 | 已有 Google 账号 |
推荐决策:
- 追求快速上手 →Brave Search API(方案一)
- 拒绝第三方依赖、完全自主可控 →SearXNG(方案二)
- 需要最高质量搜索结果 →Tavily
以下分别详述两种方案的配置步骤。
方案一:Brave Search API 配置(推荐)
1.1 注册 Brave Search API
Brave Search API 免费套餐:2000 次搜索/月,无需信用卡。
步骤:
- 访问https://brave.com/search/api/
- 点击“Get Started”,使用 GitHub/Google 账号登录(推荐)
- 进入 Dashboard,导航至“API Keys”
- 点击“Create API Key”
- 复制生成的 API Key(格式:
BSA...,仅显示一次)
⚠️安全提示:API Key 具有访问权限,请勿公开。如泄露,立即在 Dashboard 中 Revoke 并重新生成。
1.2 Open WebUI 配置
前提:Open WebUI 已运行(访问http://localhost:3000)。
操作步骤:
- 左下角头像 →Settings→Admin Settings
- 左侧导航 →Web Search
- Search Provider下拉选择“Brave Search”
- API Key输入框粘贴 Brave API Key
- (可选)调整Search Results Count(默认 5-10,建议 10)
- 点击Save
1.3 启用联网搜索
配置保存后,每次对话需手动启用联网搜索:
- 聊天界面输入框下方,点击"地球/搜索"图标
- 图标高亮/变蓝表示已启用
- 输入问题(如:“2025年6月12日深圳天气”),发送
验证:AI 回答中包含"(来源:…)"或类似引用,说明联网搜索生效。
方案二:SearXNG 自托管配置
SearXNG 是开源元搜索引擎,可同时查询 Google、Bing、DuckDuckGo 等多个引擎,聚合结果返回。部署在本地后无限次免费使用,且搜索请求由本机发出,第三方不可见查询内容。
2.1 Docker 部署 SearXNG
dockerrun-d\--namesearxng\-p8080:8080\-vsearxng-data:/etc/searxng\-eBASE_URL=http://localhost:8080\--restartalways\searxng/searxng:latest参数说明:
| 参数 | 说明 |
|---|---|
-d | 后台运行 |
-p 8080:8080 | 端口映射 |
-v searxng-data:/etc/searxng | 配置持久化 |
-e BASE_URL=... | 外部访问地址 |
--restart always | 开机自启 |
首次拉取镜像约 500MB-1GB,耗时 3-8 分钟。
验证:浏览器访问http://localhost:8080,出现 SearXNG 搜索页即成功。
2.2 修改 SearXNG 配置
SearXNG 默认限制访问来源,需修改配置允许 Open WebUI(Docker 容器)访问。
步骤:
- 查看 Volume 路径:
dockervolume inspect searxng-data打开
Mountpoint路径下的settings.yml修改
server段:
server:port:8080bind_address:"0.0.0.0"secret_key:"your-random-string-here"limiter:false- 重启容器:
dockerrestart searxng2.3 Open WebUI 配置 SearXNG
- Open WebUI → Settings → Admin Settings →Web Search
- Search Provider选择“SearXNG”
- SearXNG URL填写:
http://host.docker.internal:8080 - 点击Save
原理:
host.docker.internal是 Docker 提供的特殊 DNS,指向宿主机。Open WebUI 容器通过此地址访问宿主机上的 SearXNG(端口 8080)。
2.4 测试
聊天界面启用联网搜索,输入实时信息查询问题,验证回答是否包含搜索结果引用。
实用场景
场景 1:实时资讯查询
问:“总结今天 AI 领域的重要新闻,重点关注大模型和芯片。”
行为:调用搜索 API → 获取新闻标题摘要 → 生成总结。
场景 2:技术文档查询
问:“Python 3.13 的 free-threaded 模式详细配置步骤?”
行为:搜索 Python 官方文档 → 提取配置步骤 → 返回带代码示例的回答。
场景 3:数据验证
问:“DeepSeek V3 训练成本最新消息是什么?”
行为:搜索相关报道 → 综合多个来源 → 给出客观回答。
进阶配置
调整搜索结果数量
位置:Open WebUI → Admin Settings → Web Search →Search Results Count
- 调大(15-20):信息更全面,token 消耗增加,回答变慢
- 调小(3-5):速度快,token 省,但可能遗漏信息
- 建议:一般场景 10 个结果;研究型查询 15-20 个
指定搜索语言和地区
不同提供商参数不同:
- Brave Search:支持
country参数(如country=CN) - SearXNG:支持
language参数(如language=zh-CN)
配置方式:Open WebUI → Admin Settings → Web Search →“Extra Query Params”输入框,添加对应参数。
搜索失败 Fallback
搜索 API 不可用时,Open WebUI 默认行为:
- 搜索失败后,基于自身知识回答,并在回答中说明"无法搜索最新信息"
- 可在 Admin Settings 中设置"搜索失败时禁止回答"(强制用户检查配置)
常见问题排查
Q1:AI 回答无来源引用
排查步骤:
# 1. 检查 Open WebUI 日志dockerlogs open-webui# 2. 测试搜索 API 可达性curl"https://api.search.brave.com/res/v1/web/search?q=test"\-H"X-Subscription-Token: YOUR_API_KEY"# 3. 检查 Open WebUI Web Search 设置# Settings → Admin Settings → Web Search → 确认 Provider 和 API Key 正确Q2:回答速度明显变慢
正常延迟:3-15 秒(搜索 + 生成)
异常延迟(>30秒)排查:
- SearXNG 方案:减少
settings.yml中的搜索引擎数量 - Brave 方案:检查网络延迟,或切换网络
Q3:Brave API 额度用完
解决方案:
- 等待下月额度重置
- 切换至 SearXNG 方案
- 不推荐:注册新账号(违反 Brave ToS)
Q4:隐私担忧
Brave Search:问题作为搜索查询发送至 Brave 服务器。Brave 隐私政策承诺不记录 PII,但技术上可见搜索关键词。
SearXNG:搜索请求从本机发出,Google/Bing 看到的是"来自本机 IP 的搜索",不知查询内容对应的用户身份。
建议:涉及高度敏感信息时,临时关闭联网搜索。
总结
本文详细讲解了本地 LLM 联网搜索的两种配置方案。
方案选择建议:
| 需求 | 推荐方案 |
|---|---|
| 快速上手,5分钟搞定 | Brave Search API |
| 完全免费无限次,自主可控 | SearXNG |
| 最高搜索质量 | Tavily |
系列回顾:
| 期数 | 主题 | 核心成果 |
|---|---|---|
| 第一期 | Ollama + DeepSeek 安装 | 本地运行 AI 模型 |
| 第二期 | Page Assist 浏览器插件 | 网页侧边栏 AI 助手 |
| 第三期 | Open WebUI 网页界面 | ChatGPT 同款体验 |
| 第四期(本文) | 联网搜索配置 | AI 可查最新信息 |
下期预告(最终篇):RAG 检索增强生成——让 AI 不仅能搜互联网,还能"读懂"你自己的文档、笔记、代码库。
📌 本文是「AI轻上手」系列教程的第四篇。如有配置问题,欢迎在评论区留言讨论。