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功能对搜索到的相关内容进行爬取,并进行总结分析,得到一条最终结果,才是我们想要的。

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

点击发布更新,点击运行

今天上海天气怎么样?

效果如下:

相关推荐
肖祥1 小时前
dify升级,PostgreSQL数据库字段更新处理
dify
程序员一一涤生4 小时前
Dify开发必备:分享8个官方文档不曾解释的关键技巧
低代码·dify·ai平台
白熊1882 天前
Mac 本地化部署 dify
macos·dify
伏颜.6 天前
Dify实现自然语言生成SQL并执行
python·dify
tinghe177 天前
本地部署Dify 添加Ollama模型DeepSeek
dify·本地部署·ollama·deepseek
rundreamsFly9 天前
【云馨AI-大模型】自动化部署Dify 1.1.2,无需科学上网,Linux环境轻松实现,附Docker离线安装等
人工智能·自动化·dify·dify最新版本
huan_199310 天前
在Dify中使用Echarts生成一个图表
ai·dify·dify展示echarts图表·dify中使用js脚本·dify的使用
灵境引路人14 天前
【AIGC】Win10系统极速部署Docker+Ragflow+Dify
docker·容器·aigc·dify·ragflow