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功能对搜索到的相关内容进行爬取,并进行总结分析,得到一条最终结果,才是我们想要的。
就像上面看到的搜索上海天气,有几十条。那么我们只需一条最终结果即可。
点击发布更新,点击运行

今天上海天气怎么样?
效果如下:

SearXNG私有化部署与Dify集成的更多相关文章
- GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署
预期目标 源代码管理 借助GitLab实现源代码托管,私有化部署版本,创建项目,创建用户组,分配权限,项目的签入/牵出等. 自动化部署 源代码产生变更时(如签入),自动化编译并发布到指定服务器中部署, ...
- Docker技术浅谈:私有化部署的优势以及在顶象内部的应用实践
顶象全景式业务安全风控体系基于新一代风控体系构建,并采用Docker技术进行私有云和公有云部署.本文主要和大家分享下Docker容器技术和顶象风控系统私有化部署的优势以及Docker容器技术在顶象内部 ...
- 还原火山引擎 A/B 测试产品——DataTester 私有化部署实践经验
作为一款面向ToB市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路. 在面向ToB客户私有化的实际落地中,火 ...
- 【补充】Gitlab 部署 CI 持续集成
上一篇:<劈荆斩棘:Gitlab 部署 CI 持续集成> 上一篇所配置的.gitlab-ci.yml: stages: - build - test before_script: - ec ...
- 容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付
容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...
- 容器镜像服务 联手 IDE 插件,实现一键部署、持续集成与交付
容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...
- Spire.Cloud 私有化部署教程(二)- Ubuntu 18.04 系统
本教程主要介绍如何在Ubuntu 18.04系统上实现Spire.Cloud私有化部署.CentOS 7系统部署请参考 这篇教程. 详细步骤如下: 一.环境配置 1.关闭防火墙 1)首先查看防火墙状态 ...
- Spire.Cloud 私有化部署教程(一) - CentOS 7 系统
Spire.Cloud支持的Linux服务器系统包括CentOS和Ubuntu(推荐使用CentOS 7和Ubuntu 18版本),本教程主要介绍如何在CentOS 7系统上实现Spire.Cloud ...
- .net core 和 WPF 开发升讯威在线客服系统【私有化部署免费版】发布
希望 .net 和 WPF 技术时至今日,还能有一些存在感. 这个项目源于2015年前后,当时开发的初版,我使用了 ASP.NET MVC 做为后端,数据库使用原生 ADO.NET 进行操作.WPF ...
- 10分钟学会VS NuGet包私有化部署
前言 我们之前实现了打包发布NuGet,但是发布后的引用是公有的,谁都可以访问,显然这种方式是不可取的. 命令版本:10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(ne ...
随机推荐
- Springboot集成-ClickHouse
1.clickhouse应⽤场景 1.绝大多数请求都是用于读访问的 2.数据需要以大批次(大于1000行)进行更新,而不是单行更新:或者根本没有更新操作 3.数据只是添加到数据库,没有必要修改 4.读 ...
- 工作流程调度器-DolphinScheduler
1.DolphinScheduler简介 Apache DolphinScheduler](https://dolphinscheduler.apache.org/)(目前处在孵化阶段)是一个分布式. ...
- shell脚本中的循环(for循环,while循环)及break、continue的用法示例
Shell脚本中也算是一门简易的编程语言了,当然循环是不能缺少的.常用到的循环有for循环和while循环.下面就分别介绍一下两种循环的结构. [for循环]: Shell脚本中的for循环示例: # ...
- Nginx日常运维方法Linux版
1,安装? 下载RPM:wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm 离线 ...
- Luogu P11543 Code+#5 我有矩阵,你有吗? 题解 [ 绿 ] [ 扩展域并查集 ]
我有矩阵,你有吗?:并查集小清新题. 思路 看到这题,我第一个想到的竟然是高斯消元. 首先一行和一列肯定不会操作两次以上,不然一定可以等效为操作 \(0\) 次和操作 \(1\) 次的情况. 于是我们 ...
- 【VMware vSphere】扩容或缩减 vCenter Server 的磁盘空间大小。
我们在部署 vCenter Server 时,根据不同环境的情况,可以选择不同的部署选项,比如环境中的主机可能运行了 100 个,或者虚拟机运行了 1000 个,此时按照官方推荐的选择"小型 ...
- Github Copilot的使用方法和快捷键
GitHub Copilot是一款由GitHub和OpenAI共同开发的代码智能补全工具,它使用机器学习模型来为你提供代码建议和自动完成,可以加快开发过程并提高代码质量.下面是使用GitHub Cop ...
- 大数据之路Week10_day04 (Hbase的二级索引,二级索引的本质就是建立各列值与行键之间的映射关系)
二级索引的本质就是建立各列值与行键之间的映射关系 HBASE是在hadoop之上构建非关系型,面向列存储的开源分布式结构化数据存储系统. Hbase的局限性: HBase本身只提供基于行键和全表扫描的 ...
- 数据库离程序员有多远 - cnblogs救园行动感想
这两周,我参与了博客园的"2024救园行动",成了终身会员.说实话,当初报名的时候,我心里还挺兴奋的,想着这下能和不少老朋友在这个社区里再次相聚.毕竟,在数据库行业摸爬滚打了这么多 ...
- Vulnhub-election靶机
总结:本靶机给了很多目录,对于信息收集考察的比较严格,给了一个数据库,很多时候容易陷进去,拿到用户权限登录后,也需要大量的信息收集,虽然可以在数据库里找到root和密码,但是不是靶机本身的,最终利用s ...