OpenWebUI 接入 SearXNG:本地大模型实现实时联网搜索配置指南
如果你在用 Ollama 部署 Qwen、Llama 或 DeepSeek 等本地大模型,可能会发现一个尴尬的问题:模型的知识截止日期是固定的。它不知道今天的股市涨跌,不清楚最新的科技新闻,甚至不知道明天是什么节日。这种'信息孤岛'的感觉,让本地 AI 的实用性大打折扣。
搭建 OpenWebUI 环境时,我也遇到过这个痛点。看着模型一本正经地分析过时的数据,那种无力感促使我寻找解决方案。市面上有不少联网搜索方案,但要么配置复杂,要么对国内网络环境不友好。经过几周的测试,我发现 SearXNG 这个开源元搜索引擎,配合 OpenWebUI 的联网搜索功能,是目前最稳定、最灵活的方案之一。
更重要的是,通过合理配置 SearXNG,我们可以让本地大模型直接调用百度、360 等国内搜索引擎,获取符合中文用户习惯的实时信息。这不仅仅是技术上的连接,更是让本地 AI 真正'接地气'的关键一步。下面我就把自己验证过的配置流程,以及实际效果对比,分享给你。
为什么需要 SearXNG?
在深入配置之前,得先搞清楚一个问题:为什么不能直接用 OpenWebUI 内置的搜索引擎?答案藏在网络环境和搜索质量的双重限制里。
OpenWebUI 确实提供了多种联网搜索选项,比如 DuckDuckGo、Google PSE、Bing 等。但在实际使用中,你会发现这些选项各有各的问题:
- DuckDuckGo:开箱即用,但搜索结果对中文内容支持有限,经常返回一些相关性不高的英文页面
- Google PSE:需要 API 密钥,免费版限制严格(每天 100 次搜索),而且搜索结果质量与网页版 Google 相差甚远
- Bing:API 申请流程复杂,新用户基本无法通过,老用户也经常遇到部署失败的问题
- Mojeek:速度慢得让人怀疑人生,有时候一个查询要等上十几秒
我在社区讨论中看到不少开发者都在抱怨这个问题。有人尝试了各种方案,最后发现要么效果差,要么根本用不了。更让人头疼的是,这些搜索引擎大多对国内网络环境不友好,要么访问不稳定,要么直接被屏蔽。
这时候 SearXNG 的优势就体现出来了。它是一个元搜索引擎,本身不维护搜索索引,而是聚合其他搜索引擎的结果。这意味着:
- 隐私保护:SearXNG 不会跟踪用户,所有搜索请求都经过匿名化处理
- 高度可定制:你可以自由选择启用哪些搜索引擎,包括百度、360、搜狗等国内引擎
- API 友好:提供 JSON 格式的输出,非常适合程序化调用
- 自托管:完全控制在自己手里,不用担心服务突然不可用
但 SearXNG 也不是完美无缺。最大的问题是官方 Docker 镜像默认不包含国内搜索引擎的配置文件。如果你直接部署,很可能会遇到这样的错误:
[Errno 2] No such file or directory: '/usr/local/searxng/searx/engines/baidu.py'
这就是为什么很多人在配置 SearXNG 时卡住的原因。不过别担心,后面的章节我会详细讲解如何解决这个问题。
SearXNG 部署详解:从零搭建可用的元搜索引擎
部署 SearXNG 有多种方式,包括 Kubernetes、手动安装和 Docker Compose。考虑到易用性和维护性,我强烈推荐使用 Docker Compose 方案。下面是我优化后的配置流程,已经避开了大部分常见的坑。
环境准备与基础部署
首先确保你的服务器已经安装了 Docker 和 Docker Compose。如果还没有,可以参考官方文档进行安装。这里假设你使用的是 Ubuntu 22.04 或更高版本的系统。
# 更新系统包
sudo apt update && sudo apt upgrade -y
# 安装 Docker(如果尚未安装)
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
apt install docker-compose-plugin -y
docker --version
docker compose version

