前言
我在一月份曾写过一篇 《AnythingLLM 接入 Web Search》的文章,当时浏览量无几,但没过几天就赶上了 DeepSeek R1 发布的热潮,各个平台都给我文章带了一波不小的流量,咱也算是赶上过风口的人了。
AnythingLLM 原生支持多个海外搜索引擎接口(Google/DuckDuckGo/Bing等),但国内使用常面临连个问题:网络访问限制 与企业合规风险 。本文介绍的SearXNG正是破解这一困局的利器。
SearXNG
什么是 SearXNG?
SearXNG 是一款免费、开源的元搜索引擎,能够聚合来自多达 229 个搜索服务的结果,同时保障用户隐私。SearXNG 不会跟踪用户行为或存储个人数据,避免个性化过滤和广告干扰。此外,它还支持通过 Tor 网络匿名访问,进一步增强安全性和隐私保护。
简单来说,SearXNG 就是一个可以私有部署的开源搜索引擎。
部署 SearXNG
我们直接通过 Docker 部署 SearXNG, 以简化部署的步骤,我在这里提供 docker-compose
和 docker
命令两种部署方式,注意将端口和映射路径修改为自己的。
docker-compose
创建一个 docker-compose.yaml
文件
yaml
services:
server:
image: searxng/searxng:latest
container_name: searxng
environment:
- BASE_URL=http://localhost:8080
- INSTANCE_NAME=searxng
restart: always
volumes:
- ${PWD}/searxng:/etc/searxng
ports:
- 8080:8080
执行启动命令:
bash
docker compose up -d
docker 命令安装
使用 docker 命令进行部署
bash
mkdir my-searxng
cd my-searxng
export PORT=8080
docker pull searxng/searxng
docker run --rm \
-d -p ${PORT}:8080 \
-v "${PWD}/searxng:/etc/searxng" \
-e "BASE_URL=http://localhost:$PORT/" \
-e "INSTANCE_NAME=searxng" \
searxng/searxng
访问 SearXNG
部署完成之后,就可以在浏览器中访问 SearXNG 了: http://127.0.0.1:8080
配置 SearXNG
由于我们是需要 AnythingLLM 通过接口去调用 SearXNG, 所以需要让 SearXNG 支持返回 json
数据,一次我们还需要修改一下 SearXNG 的配置
在我们 docker 部署的脚本中,找到本地映射/etc/SearXNG
的目录位置,该目录下会有一个 settings.yml
的文件
在 search.formats
(第 80 行)下新增一行 - json
的配置。
保存并退出后,重启 SearXNG 服务
bash
docker restart <container-id>
然后访问:http://127.0.0.1:8080/search?q=deepseek&format=json
,查看他是否返回 json
格式数据。
AnythingLLM 配置 SearXNG
SearXNG 我们已经部署并且配置好了,现在只需要给 AnythingLLM 进行配置即可
我们在 Web Search 里选择 SearXNG, 然后输入 BaseURL http://ip:port/search
bash
http://192.168.1.100:8080/search # 示例地址
[!warning] 注意:
- IP地址 :不要使用
127.0.0.1
,必须填写容器宿主机的真实局域网IP- 网络策略:确保AnythingLLM容器与SearXNG容器网络互通
- 防火墙设置:开放SearXNG所在服务器的入站端口
测试 SearXNG 是否生效
在窗口中输入 @agent 请你帮我搜索 QwQ 大模型的评价
让 AI 通过浏览器搜索 QwQ 大模型的评价,可以在上面的步骤部分看到具体的调用过程。
可以看到,AnythingLLM 成功通过 SearXNG 获取到了 QwQ 大模型的相关资讯,并进行总结后回复。
结语
至此,我们已经成功安装部署了 SearXNG ,并且通过 AnythingLLM 实现了 SearXNG 的调用,通过 SearXNG 我们可以实现使用免费、私有的搜索引擎,不必考虑网络问题和费用问题。
相关链接
- AnythingLLM 接入 Web Search :juejin.cn/post/745934...
- SearXNG :docs.searxng.org/