一个地址,给 Perplexica 换上自管的 SearXNG 多源检索底座
【免费下载链接】VaneVane is an AI-powered answering engine.项目地址: https://gitcode.com/GitHub_Trending/pe/Vane
你让 AI 查一个冷门问题,内置搜索给的结果总是那几篇,可信来源越用越少。Perplexica 是一款隐私优先的 AI 问答引擎——模型负责答题,搜索层决定它能拿到什么素材。这篇 SearXNG 集成教程带你把 Perplexica 指向自己的 SearXNG 实例,让 AI 问答用上多源检索。
它凭什么值得接 🔍
SearXNG 是元搜索引擎(把多家搜索服务的结果汇到一处、统一出口的中间层)。接上之后,收益很直接:
- 结果来自多引擎,不再单一来源
- 查询走自己的实例,隐私可控
- 引擎、类别随时可调
Perplexica 搜索界面——接入 SearXNG 后,每个问题都会经过你的聚合实例检索。
从零跑通
已有自己的 SearXNG 实例?跳过第一节,直接填地址。
先把 SearXNG 实例跑起来
起一个容器,端口映射到 4000,再 curl 打一次接口自测(它必须开 JSON 输出格式,仓库里 searxng/settings.yml 就是开了json格式的参照配置):
docker run -d --name searxng -p 4000:8080 searxng/searxng:latest curl 'http://localhost:4000/search?q=test&format=json'curl 返回带results数组的 JSON,实例就算通了。
在 Perplexica 侧填好地址
填法二选一:界面 设置 → Search 栏目里填 SearXNG URL,或设SEARXNG_API_URL环境变量,配置模块启动时会自动读进data/config.json(见 src/lib/config/index.ts)。没有现成环境就先拉代码:
git clone https://gitcode.com/GitHub_Trending/pe/Vane cd Vane && yarn SEARXNG_API_URL=http://localhost:4000 yarn devconfig.json里search.searxngURL有值,地址就算填对了。
调一次接口确认链路通了
先GET /api/providers拿 providerId 和模型 key,填进下面这个请求,POST 一次(docs/API/SEARCH.md 有完整字段说明):
curl -X POST http://localhost:3000/api/search \ -H 'Content-Type: application/json' \ -d '{ "query": "什么是 SearXNG", "sources": ["web"], "chatModel": { "providerId": "填上一步的UUID", "key": "填模型key" }, "embeddingModel": { "providerId": "填上一步的UUID", "key": "填模型key" } }'返回体里message是答案、sources非空且带真实 URL——链路通了,你的 SearXNG 已经在给 AI 问答供料。嫌接口麻烦,直接在界面问一句需要联网的问题,看到引用来源即通。
按需调优 🛠️
搜索行为全在searchSearxng的第二个参数里,两个最常用的旋钮:
SearXNG 集成后的多源检索结果:答案带引用编号,Sources 是可点的来源列表。
指定聚合哪些引擎
打开 src/lib/searxng.ts,调用时带上engines:
searchSearxng('人工智能最新进展', { engines: ['google', 'bing', 'wikipedia'], });效果:结果只来自这几家,来源可控,也不会被冷门引擎拖慢速度。
限定搜索类别
同一处,把类别限定成images:
searchSearxng('风景照片', { categories: ['images'], });效果:只取图片类结果,配合/api/images接口可以直接出图。
踩了这几个坑的人看这里 ⚠️
搜索超时
现象:接口报SearXNG search timed out(默认 10 秒)。
- 先直接
curl实例 URL,不通就是实例或网络的事 - 聚合引擎太多会变慢,先用
engines收窄 - 检查防火墙有没有挡端口
返回空结果
现象:请求通了,results是空的。
- JSON 格式没开,拿到的是 HTML
- URL 多带了路径,应该指向实例根
- 想要的引擎在
engines里被禁用了
地址填了没反应
现象:配置里地址在,搜索就是不出结果。
- 跑在同一个 docker 网络里,容器内别用
localhost指宿主机 - 协议是
http,别写成https - 地址里不要带
/search路径
到这里,自管的多源检索底座搭好了,AI 问答的来源可控了。
- 搜索 API 文档
- 架构与问答流程说明
- SearXNG 配置参考
下一步去调调engines和categories,剩下的,让各家搜索引擎自己卷去。
【免费下载链接】VaneVane is an AI-powered answering engine.项目地址: https://gitcode.com/GitHub_Trending/pe/Vane
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考