在Dify中实现联网检索功能(模拟DeepSeek)
跟着上一篇博客:Error response from daemon: Get “https://registry-1.docker.io/v2/“: request canceled while的解决办法-CSDN博客
DeepSeek发布之后,感觉联网检索功能变成标配了。这篇博客简单介绍一下怎么在Dify中配置初步的联网检索功能,主要用了SearXNG,其实有很多朋友都总结过了:
本地部署DeepSeek R1+Dify+SearXNG:联网智能体-CSDN博客
实操部署DeepSeek,添加私有知识库_docker部署deepseek-CSDN博客
但是上面两篇博客都有点小问题,我这里总结一下:
首先
SearXNG的配置文件位于
dify/api/core/tools/provider/builtin/searxng/docker/settings.yml
。
这个是没错的,但是第一篇博客把启动docker的命令行写错了,应该是在Dify根目录下运行
docker run --rm -d -p 8081:8080 -v "${PWD}/api/core/tools/provider/builtin/searxng/docker:/etc/searxng" searxng/searxng
第二篇博客是对的,但是把端口搞错了,应该是启动之后访问:
http://localhost:8081 或者 http://192.168.1.80:8081(我的本机地址是1.80),因为上面这个命令已经做过端口映射了!
其次,如果没有科学上网的话,很多国外引擎我们是访问不了的,这时候就需要改一下上面的配置文件(以免很多超时访问影响效率),在engines部分:
engines:
- name: duckduckgo
engine: duckduckgo
shortcut: ddg
disabled: true
把肯定用不到的engine禁掉,只留下Bing。然后需要重启一下SearXNG:
docker ps
然后把SearXNG对应的Container stop,例如:
docker stop 25dfee47e345
然后再运行第一个命令重新启动就行了,这时候再搜索的话就会快很多。但是还是发现有一个问题,按道理来说是访问bing的API,可为啥很多情况下返回的都是zhihu的页面,知乎充值了?这个问题也得慢慢解决。
剩下的内容大家参考之前列出的网页就可以基本实现了,先简单总结这么多。