SearXNG私有化部署与Dify集成

一、概述

SearXNG 是一个免费的互联网元搜索引擎,它聚合了来自各种搜索服务和数据库的结果,但摆脱了隐私追踪 ------ 用户行为既不会被引擎跟踪也不会被分析。

功能特性

  • 自托管,可以私有化部署
  • 没有用户跟踪/没有分析
  • 可以自定义设置脚本和 cookies
  • 安全加密的连接
  • 轻松整合了近200个搜索引擎,用户可自定义选择不同的引擎
  • 多语言支持,约 60 个,包含中文、英文等
  • 提供近 100 个维护良好的公共查询实例

Github官方地址:

https://github.com/searxng/searxng-docker.git

官方安装文档:

https://docs.searxng.org/admin/installation-docker.html#installation-docker

简单来说,如果你的AI模型没有联网功能,可以通过这个插件,来实现联网功能。

二、安装SearXNG

根据官方安装文档,只需要使用docker启动即可

复制代码
$ mkdir my-instance
$ cd my-instance
$ 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=my-instance" \
             searxng/searxng
2f998.... # container's ID

为了方便管理SearXNG,这里使用docker-compose来启动。

编辑文件docker-compose.yaml

复制代码
mkdir /data/searxng
cd /data/searxng
vi docker-compose.yaml

内容如下:

复制代码
services:
  searxng:
    image: searxng/searxng
    container_name: searxng
    ports:
      - "8081:8080"
    environment:
      BASE_URL: http://10.44.32.14:8081
      INSTANCE_NAME: my-instance
    volumes:
      - ./searxng:/etc/searxng:rw
    restart: always

volumes:
  searxng-data:

说明:

8081:8080,避免端口冲突,改成8081

BASE_URL,访问地址http://10.44.32.14:8081注意:这里要求dify能够访问到searxng即可。

启动应用

复制代码
docker-compose up -d

生成密钥

复制代码
openssl rand -hex 32

输出:

34788b49b8f9d819cfcb09da447b0d8586c63ad1acd469a1e446

修改配置文件

复制代码
cp searxng/settings.yml searxng/settings.yml.bak
vi searxng/settings.yml 

清空默认内容,一行不留,完整内容如下:

复制代码
# see https://docs.searxng.org/admin/settings/settings.html#settings-use-default-settings
use_default_settings: true
server:
  # base_url is defined in the SEARXNG_BASE_URL environment variable, see .env and docker-compose.yml
  secret_key: "34788b49b8f9d819cfcb09da447b0d8586c63ad1acd469a1e446"
  limiter: false
  image_proxy: true
ui:
  static_use_hash: true
redis:
  url: false
search:
  formats:
    - html
    - json

说明:

secret_key: 上面生成的密钥

limiter: false,禁用请求限制器,否则可能触发 too many requests 的问题

redis:

url: false,这里不需要使用redis存储

search:

formats:

  • html

  • json,扩展数据返回格式,增加json,否则设置SearXNG插件,添加访问search接口会报错403

重新启动应用

复制代码
docker-compose down
docker-compose up -d

访问searxng页面

http://10.44.32.14:8081/

验证 json 接口

搜索功能展示

三、Dify集成

登录到dify,点击工具,搜索SearXNG

点击插件,设置授权

输入地址:

http://10.44.32.14:8081

新建智能体

提示词如下:

复制代码
## 技能
### 技能1:使用searxng_search工具进行联网搜索
### 技能2:使用webscraper功能对搜索到的相关内容进行爬取,并进行总结分析
## 限制
- 如果没有相关内容,再进行联网搜索
- 你的回答应严格针对分析任务。使用结构化语言,逐步思考
- 使用的语言应和用户提问的语言相同
- 搜索的关键词必须和用户提问的内容一致

点击工具添加

添加2个工具

searxng_search

webscraper

设置模型

说明:

searxng_search工具返回的搜索结果,有几十条,这并不是我们最终想要的。

所以需要webscraper功能对搜索到的相关内容进行爬取,并进行总结分析,得到一条最终结果,才是我们想要的。

就像上面看到的搜索上海天气,有几十条。那么我们只需一条最终结果即可。

点击发布更新,点击运行

今天上海天气怎么样?

效果如下:

相关推荐
小草cys2 小时前
AI工作流自动化与智能应用开发平台
运维·人工智能·自动化·dify
肖祥18 小时前
ragflow k8s部署详细过程
dify
q_q王21 小时前
dify对接飞书云文档,并且将图片传入飞书文档
python·大模型·飞书·dify·智能体·图片展示
测试老吴4 天前
Dify升级-linux环境下使用zip离线安装方式部署升级
大模型·dify·测试应用
阿桨4 天前
【(保姆级教程)Ubuntu24.10下部署Dify】
ubuntu·dify·智能体
肖祥5 天前
MCP协议Streamable HTTP
dify
aiyo926 天前
【dify实战】chatflow结合deepseek实现基于自然语言的数据库问答、Echarts可视化展示、Excel报表下载
dify·自然语言转sql·echarts可视化展示·excel报表下载·chatflow·数据库智能问答
筱小虾米6 天前
Dify忘记管理员密码,重置的问题
人工智能·学习·dify
gblfy8 天前
DeepSeek + Dify + Docker 零代码!一键搭建本地私有AI知识库
docker·ai·知识库·私域·dify·deepseek·深度求索
gblfy8 天前
DeepSeek + Dify + Ollama + Docker + Linux 私有化部署,构建你的专属私人 AI 助手
linux·docker·dify·本地部署·ollama·deepseek·私有化