AnythingLLM + SearXNG 实现私有搜索引擎代理

前言

我在一月份曾写过一篇 《AnythingLLM 接入 Web Search》的文章,当时浏览量无几,但没过几天就赶上了 DeepSeek R1 发布的热潮,各个平台都给我文章带了一波不小的流量,咱也算是赶上过风口的人了。

AnythingLLM 原生支持多个海外搜索引擎接口(Google/DuckDuckGo/Bing等),但国内使用常面临连个问题:网络访问限制企业合规风险 。本文介绍的SearXNG正是破解这一困局的利器。

SearXNG

什么是 SearXNG?

SearXNG 是一款免费、开源的元搜索引擎,能够聚合来自多达 229 个搜索服务的结果,同时保障用户隐私。SearXNG 不会跟踪用户行为或存储个人数据,避免个性化过滤和广告干扰。此外,它还支持通过 Tor 网络匿名访问,进一步增强安全性和隐私保护。

简单来说,SearXNG 就是一个可以私有部署的开源搜索引擎。

部署 SearXNG

我们直接通过 Docker 部署 SearXNG, 以简化部署的步骤,我在这里提供 docker-composedocker 命令两种部署方式,注意将端口和映射路径修改为自己的。

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 我们可以实现使用免费、私有的搜索引擎,不必考虑网络问题和费用问题。

相关链接

相关推荐
探物 AI21 小时前
虾破苍穹(二)·《openclaw功法全书》 [特殊字符]
人工智能·ai编程
IT_陈寒1 天前
Redis的内存溢出坑把我整懵了,分享这个血泪教训
前端·人工智能·后端
m0_738120721 天前
渗透测试基础ctfshow——Web应用安全与防护(五)
前端·网络·数据库·windows·python·sql·安全
Z_Wonderful1 天前
基于 Vite 的 React+Vue 混部完整模板(含目录结构、依赖清单、启动脚本)
前端·vue.js·react.js
Rooting++1 天前
腾讯无界微前端源码分析
前端
高洁011 天前
大模型微调进阶:多任务微调实战
人工智能·python·深度学习·机器学习·transformer
Elastic 中国社区官方博客1 天前
使用 Jina 远程 MCP 服务器的 Agentic 工作流
大数据·运维·人工智能·elasticsearch·搜索引擎·运维开发·jina
小嘿前端仔1 天前
用AI读源码这件事:前端视角的实战方法论,附Vue3 reactivity源码解读示范
前端
其实防守也摸鱼1 天前
XSS漏洞全景解析:从原理、实战利用到纵深防御
前端·网络·安全·xss·xss漏洞
戴维南1 天前
DeepAgents 快速上手教程
前端