基于Dify快速构建大模型应用(二):Dify接入SearXNG实现联网搜索。
本文将介绍如何将Dify与SearXNG结合,构建一个强大的免费联网搜索工作流系统。
前言
本文将介绍如何将Dify与SearXNG结合,构建一个强大的免费联网搜索工作流系统。本地部署Dify教程可参考【Linux部署Dify指南】。
一、Dify集成SearXNG
1. 安装SearXNG
Dify界面->工具->右侧搜索“SearXNG”->点击安装
2. 启动 SearXNG 服务
参考官方文档,在docker中启动SearXNG 服务:
cd dify
docker run --rm -d -p 8081:8080 -v "${PWD}/api/core/tools/provider/builtin/searxng/docker:/etc/searxng" searxng/searxng
3. 测试 SearXNG 服务
测试 SearXNG 服务是否正常工作:
curl "http://localhost:8081/search?q=apple&format=json&categories=general"
如果成功,会出现大段内容,是正常现象。
4. Dify认证
在Dify的工具界面点击SearXNG->去授权,输入SearXNG 服务的 Base URL:
http://<your_server_ip>:8081
二、安装错误及nginx添加端口
1. 测试SearXNG出现403错误
在使用http://localhost:8081测试SearXNG时出现403错误。需要修改其配置文件。进入SearXNG 的配置文件位置:
cd dify/api/core/tools/provider/builtin/searxng/docker
打开settings.yml,搜索“formats”,添加“-json”:
然后执行命令查看docker当前的服务docker ps,找到searxng/searxng 行的container_id,然后重新SearXNG 的服务docker restart ${container_id}即可。
2. nginx添加8081端口
在nginx.conf中找到dify服务配置,其中添加8081端口,对于报错:
PluginInvokeError: {"args":{},"error_type":"ToolProviderCredentialValidationError","message":"Exceeded 30 redirects."}
解决方法:确保请求路径被完整传递到后端:http://127.0.0.1:8081后需要添加$request_uri;重定位功能需要关闭:proxy_redirect off
location /search {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8081$request_uri;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_redirect off;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' '*';
}
随后重启nginx:
sudo pkill -9 nginx
sudo systemctl start nginx
注意! 如果使用nginx -s reload来重启,可能会报错找不到/run/nginx.pid。
三、搭建联网搜索工作流
Dify界面->创建空白应用->选择Chatflow->创建工作流:
创建后会显示包含一个大模型的简单工作流:
在开始节点和LLM节点之间的连线添加->工具->SearXNG:
然后配置SearXNG,这里的sys.query变量默认用户输入的内容,这里是根据用户的输入进行搜索,搜索类型和时间范围可以根据需求来选择。
配置LLM节点,注意在上下文和user的提示词添加SearXNG 搜索节点输出的内容:
最后点击预览,进行测试:
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)