OpenWebUI 联网搜索实战:如何用 SearXNG 让本地大模型获取实时信息
在本地运行大模型(如 Ollama 部署的 Qwen、Llama 或 DeepSeek)时,常面临知识截止日期的限制。模型无法知晓当天的股市波动、最新科技新闻甚至明天的节日。这种'信息孤岛'效应严重影响了本地 AI 的实用性。
搭建 OpenWebUI 环境初期,我也深受其扰。市面上虽有联网搜索方案,但往往配置繁琐或对国内网络环境不友好。经过多轮测试,SearXNG 配合 OpenWebUI 的联网功能是目前最稳定且灵活的组合。关键在于合理配置 SearXNG,使其能调用百度、360 等国内搜索引擎,让本地 AI 真正'接地气'。
为什么需要 SearXNG?
OpenWebUI 内置了 DuckDuckGo、Google PSE、Bing 等选项,但在实际使用中各有局限:
- DuckDuckGo:开箱即用,但对中文内容支持有限,相关性常不高。
- Google PSE:需 API 密钥,免费版每日限制严格,结果质量不如网页版。
- Bing:API 申请流程复杂,新用户难通过,老用户也常遇部署失败。
- Mojeek:速度极慢,查询耗时可达十几秒。
此外,这些服务大多对国内网络环境不友好,访问不稳定或被屏蔽。SearXNG 作为元搜索引擎,聚合其他引擎结果,优势明显:
- 隐私保护:请求匿名化,不跟踪用户。
- 高度可定制:可自由选择启用百度、360、搜狗等国内引擎。
- API 友好:输出 JSON 格式,便于程序调用。
- 自托管:完全掌控,避免服务不可用风险。
不过,官方 Docker 镜像默认不包含国内引擎配置文件。直接部署可能报错:
[Errno 2] No such file or directory: '/usr/local/searxng/searx/engines/baidu.py'
后续章节将详细讲解如何解决此问题。
SearXNG 部署详解
推荐使用 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
sudo sh get-docker.sh
# 安装 Docker Compose 插件
sudo apt install docker-compose-plugin -y
# 验证安装
docker --version
docker compose version
创建工作目录并克隆配置仓库:
mkdir -p ~/searxng-docker && cd ~/searxng-docker
git clone https://github.com/searxng/searxng-docker.git .

