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 两种方案。


目录


背景与动机

本地部署 LLM 的核心优势在于数据隐私零成本,但最大的短板是知识截止日期限制

典型失效场景:

  • “今天深圳的天气怎么样?” → 无法回答
  • “最近有什么 AI 领域的重要新闻?” → 无法回答
  • “React 19 有哪些新特性?” → 只能基于训练数据推测

在线版 ChatGPT、Claude 均具备联网搜索能力。本地部署模型能否实现同等能力?

可以。且完全免费。


技术原理

Open WebUI 的联网搜索功能基于 "检索-生成"两阶段架构

用户输入问题
    ↓
Open WebUI 接收请求
    ↓
调用外部搜索 API(Brave/Google/SearXNG)
    ↓
获取搜索结果(标题、摘要、URL)
    ↓
将搜索结果拼接至 Prompt 上下文
    ↓
DeepSeek 基于实时信息生成回答
    ↓
返回结果(通常附带来源引用)

关键点

  1. 搜索结果不经过模型训练,每次均为实时获取
  2. 搜索 API 仅接收"搜索关键词",不接收完整对话历史(取决于配置)
  3. 最终回答由本地 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 次搜索/月,无需信用卡。

步骤

  1. 访问 https://brave.com/search/api/
  2. 点击 “Get Started”,使用 GitHub/Google 账号登录(推荐)
  3. 进入 Dashboard,导航至 “API Keys”
  4. 点击 “Create API Key”
  5. 复制生成的 API Key(格式:BSA...,仅显示一次)

⚠️ 安全提示:API Key 具有访问权限,请勿公开。如泄露,立即在 Dashboard 中 Revoke 并重新生成。

1.2 Open WebUI 配置

前提:Open WebUI 已运行(访问 http://localhost:3000)。

操作步骤

  1. 左下角头像 → SettingsAdmin Settings
  2. 左侧导航 → Web Search
  3. Search Provider 下拉选择 “Brave Search”
  4. API Key 输入框粘贴 Brave API Key
  5. (可选)调整 Search Results Count(默认 5-10,建议 10)
  6. 点击 Save

1.3 启用联网搜索

配置保存后,每次对话需手动启用联网搜索:

  1. 聊天界面输入框下方,点击 "地球/搜索"图标
  2. 图标高亮/变蓝表示已启用
  3. 输入问题(如:“2025年6月12日深圳天气”),发送

验证:AI 回答中包含"(来源:…)"或类似引用,说明联网搜索生效。


方案二:SearXNG 自托管配置

SearXNG 是开源元搜索引擎,可同时查询 Google、Bing、DuckDuckGo 等多个引擎,聚合结果返回。部署在本地后无限次免费使用,且搜索请求由本机发出,第三方不可见查询内容。

2.1 Docker 部署 SearXNG

docker run -d \
  --name searxng \
  -p 8080:8080 \
  -v searxng-data:/etc/searxng \
  -e BASE_URL=http://localhost:8080 \
  --restart always \
  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 容器)访问。

步骤

  1. 查看 Volume 路径:
docker volume inspect searxng-data
  1. 打开 Mountpoint 路径下的 settings.yml

  2. 修改 server 段:

server:
  port: 8080
  bind_address: "0.0.0.0"
  secret_key: "your-random-string-here"
  limiter: false
  1. 重启容器:
docker restart searxng

2.3 Open WebUI 配置 SearXNG

  1. Open WebUI → Settings → Admin Settings → Web Search
  2. Search Provider 选择 “SearXNG”
  3. SearXNG URL 填写:http://host.docker.internal:8080
  4. 点击 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 日志
docker logs 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 额度用完

解决方案

  1. 等待下月额度重置
  2. 切换至 SearXNG 方案
  3. 不推荐:注册新账号(违反 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轻上手」系列教程的第四篇。如有配置问题,欢迎在评论区留言讨论。

你更喜欢Brave Search还是SearXNG?评论区聊聊你的选择,也说说联网搜索帮你解决了什么实际问题~

🔗 系列导航
第1篇 DeepSeek安装 | 第2篇 Page Assist插件 | 第3篇 OpenWebUI搭建 | 第4篇(本文) | 第5篇 RAG知识库 | 第6篇 多模态+语音 | 第7篇 手机远程访问

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐