目前大模型在国内是非常的火,今天给大家带来一个自定义搜索引擎,他可以实现搜索非常多网站的结果,而且没有任何广告,搜索结果页非常精准,他就是:SearXNG。
目前SearXNG的官方介绍如下:SearXNG 是一个免费的互联网元搜索引擎,它聚合了来自各种搜索服务和数据库的结果,但摆脱了隐私追踪 —— 用户行为既不会被引擎跟踪也不会被分析。
所以对于隐私保护性要求很高的同学,可以尝试下这款互联网元搜索引擎。
既然提到大模型,所以像这种好用的搜索引擎,我们结合dify来使用是不是更加的好呢?下面我们来演示一下:
1)准备服务器
这里由于涉及到本地部署大模型,所以这里需要准备一台高配的服务器,最好有GPU的,这里我用的是腾讯云16C32G云服务器进行测试
2)服务器准备环境
这里需要在服务器上准备的环境有:
docker环境:详见《Docker安装》
docker-compose环境:详见《docker-compose下载》
git环境:直接yum安装即可
yum -y install git
3)下载SearXNG
这里直接使用git下载SearXNG即可:
#创建目录 mkdir -p /home/pubserver/SearXNG #进入目录 cd /home/pubserver/SearXNG #下载源码 git clone https://github.com/searxng/searxng-docker.git #进入searxng源码 cd cd searxng-docker/
4)查看配置文件
SearXNG的配置文件在searxng目录下,名称为settings.yml和limiter.toml。
这里首先我们需要修改的是settings.yml文件,
这里我们修改以下secret_key,但是这个key不是随便填写的,官方提供了生成的代码:
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml
执行之后,可以看到这里searxng/settings.yml文件中的secret_key被替换掉了
同时由于我们搭配dify使用,所以这里需要添加数据返回格式 :
search: formats: - html - json
这里还有,需要把server.limiter的值修改为false,防止ip被限流,避免报错提示:too many requests。最后我们这里的文件内容如下:
5)修改docker-compose文件
这里docker-compose.yml文件就在searchxng-docker目录下
打开docker-compose.yml文件后,可以看到主要涉及到3个组件:
1、caddy,自动创建反向代理,类似nginx 2、redis,内存数据库 3、searxng,searcxng本身
这里由于我们是搭配dify使用,这里不需要使用caddy,把caddy给删除掉即可。
同时第一次运行的时候会涉及到初始化等信息,所以这里还需要注释掉searxng节点下的cap_drop=all(searxng和redis节点下都有这个配置,都需要注释掉,第一次运行完成之后,再把注释给打开)
接下来还要把searxng的绑定端口给修改下,
默认绑定到127.0.0.1:8080端口的,直接放开
最后我们整个docker-compose.yml文件的配置内容如下:
version: "3.7" services: redis: container_name: redis image: docker.io/valkey/valkey:8-alpine command: valkey-server --save 30 1 --loglevel warning restart: unless-stopped networks: - searxng volumes: - valkey-data2:/data # cap_drop: # - ALL cap_add: - SETGID - SETUID - DAC_OVERRIDE logging: driver: "json-file" options: max-size: "1m" max-file: "1" searxng: container_name: searxng image: docker.io/searxng/searxng:latest restart: unless-stopped networks: - searxng ports: - "8080:8080" volumes: - ./searxng:/etc/searxng:rw environment: - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/ - UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4} - UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4} # cap_drop: # - ALL cap_add: - CHOWN - SETGID - SETUID logging: driver: "json-file" options: max-size: "1m" max-file: "1" networks: searxng: volumes: valkey-data2:
6)启动docker-compose
前面准备工作都做完了,这里就开始启动吧,直接执行
docker-compose up -d
稍等片刻就可以看到searxng的docker实例启动完成了。
然后我们就可以访问服务器的8080端口了,示例如下:
然后我们演示搜索一下信息,比如搜索本网站,效果图如下:
可以看到第一条就是我们想要搜索的结果,是不是非常方便?
到此为止我们的SearXNG其实就可以使用了。但是本文我们主要想要让他和dify进行集成,实现本地人工智能化,所以继续。
7)部署dify
这里部署dify的话,我们可以参考前面的文章:《Dify部署》。这里假设我们已经部署好了dify
8)安装searxng插件
接下来我们按照下searxng的插件,点击右上角的插件,选择marketing
搜索searxng,进行安装即可
9)授权searxng
回到已安装的插件中,点击Searxng,点击去授权
填写刚才的searxng访问地址:
点击保存就可以看到授权成功了:
到此我们就可以直接在dify的工作流中使用这里的searxng插件了,大家可以多尝试下,后期会编写很多关于dify工作流的相关案例。
还没有评论,来说两句吧...