一、概述

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集成的更多相关文章

  1. GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署

    预期目标 源代码管理 借助GitLab实现源代码托管,私有化部署版本,创建项目,创建用户组,分配权限,项目的签入/牵出等. 自动化部署 源代码产生变更时(如签入),自动化编译并发布到指定服务器中部署, ...

  2. Docker技术浅谈:私有化部署的优势以及在顶象内部的应用实践

    顶象全景式业务安全风控体系基于新一代风控体系构建,并采用Docker技术进行私有云和公有云部署.本文主要和大家分享下Docker容器技术和顶象风控系统私有化部署的优势以及Docker容器技术在顶象内部 ...

  3. 还原火山引擎 A/B 测试产品——DataTester 私有化部署实践经验

      作为一款面向ToB市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路.   在面向ToB客户私有化的实际落地中,火 ...

  4. 【补充】Gitlab 部署 CI 持续集成

    上一篇:<劈荆斩棘:Gitlab 部署 CI 持续集成> 上一篇所配置的.gitlab-ci.yml: stages: - build - test before_script: - ec ...

  5. 容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

  6. 容器镜像服务 联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

  7. Spire.Cloud 私有化部署教程(二)- Ubuntu 18.04 系统

    本教程主要介绍如何在Ubuntu 18.04系统上实现Spire.Cloud私有化部署.CentOS 7系统部署请参考 这篇教程. 详细步骤如下: 一.环境配置 1.关闭防火墙 1)首先查看防火墙状态 ...

  8. Spire.Cloud 私有化部署教程(一) - CentOS 7 系统

    Spire.Cloud支持的Linux服务器系统包括CentOS和Ubuntu(推荐使用CentOS 7和Ubuntu 18版本),本教程主要介绍如何在CentOS 7系统上实现Spire.Cloud ...

  9. .net core 和 WPF 开发升讯威在线客服系统【私有化部署免费版】发布

    希望 .net 和 WPF 技术时至今日,还能有一些存在感. 这个项目源于2015年前后,当时开发的初版,我使用了 ASP.NET MVC 做为后端,数据库使用原生 ADO.NET 进行操作.WPF ...

  10. 10分钟学会VS NuGet包私有化部署

    前言 我们之前实现了打包发布NuGet,但是发布后的引用是公有的,谁都可以访问,显然这种方式是不可取的. 命令版本:10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(ne ...

随机推荐

  1. Springboot集成-ClickHouse

    1.clickhouse应⽤场景 1.绝大多数请求都是用于读访问的 2.数据需要以大批次(大于1000行)进行更新,而不是单行更新:或者根本没有更新操作 3.数据只是添加到数据库,没有必要修改 4.读 ...

  2. 工作流程调度器-DolphinScheduler

    1.DolphinScheduler简介 Apache DolphinScheduler](https://dolphinscheduler.apache.org/)(目前处在孵化阶段)是一个分布式. ...

  3. shell脚本中的循环(for循环,while循环)及break、continue的用法示例

    Shell脚本中也算是一门简易的编程语言了,当然循环是不能缺少的.常用到的循环有for循环和while循环.下面就分别介绍一下两种循环的结构. [for循环]: Shell脚本中的for循环示例: # ...

  4. Nginx日常运维方法Linux版

    1,安装? 下载RPM:wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm 离线 ...

  5. Luogu P11543 Code+#5 我有矩阵,你有吗? 题解 [ 绿 ] [ 扩展域并查集 ]

    我有矩阵,你有吗?:并查集小清新题. 思路 看到这题,我第一个想到的竟然是高斯消元. 首先一行和一列肯定不会操作两次以上,不然一定可以等效为操作 \(0\) 次和操作 \(1\) 次的情况. 于是我们 ...

  6. 【VMware vSphere】扩容或缩减 vCenter Server 的磁盘空间大小。

    我们在部署 vCenter Server 时,根据不同环境的情况,可以选择不同的部署选项,比如环境中的主机可能运行了 100 个,或者虚拟机运行了 1000 个,此时按照官方推荐的选择"小型 ...

  7. Github Copilot的使用方法和快捷键

    GitHub Copilot是一款由GitHub和OpenAI共同开发的代码智能补全工具,它使用机器学习模型来为你提供代码建议和自动完成,可以加快开发过程并提高代码质量.下面是使用GitHub Cop ...

  8. 大数据之路Week10_day04 (Hbase的二级索引,二级索引的本质就是建立各列值与行键之间的映射关系)

    二级索引的本质就是建立各列值与行键之间的映射关系 HBASE是在hadoop之上构建非关系型,面向列存储的开源分布式结构化数据存储系统. Hbase的局限性: HBase本身只提供基于行键和全表扫描的 ...

  9. 数据库离程序员有多远 - cnblogs救园行动感想

    这两周,我参与了博客园的"2024救园行动",成了终身会员.说实话,当初报名的时候,我心里还挺兴奋的,想着这下能和不少老朋友在这个社区里再次相聚.毕竟,在数据库行业摸爬滚打了这么多 ...

  10. Vulnhub-election靶机

    总结:本靶机给了很多目录,对于信息收集考察的比较严格,给了一个数据库,很多时候容易陷进去,拿到用户权限登录后,也需要大量的信息收集,虽然可以在数据库里找到root和密码,但是不是靶机本身的,最终利用s ...