支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


90%企业不知道的RAG优化秘籍:Dify原生集成RAGflow (2)

发布日期:2025-05-30 12:21:17 浏览次数: 1540 作者:AgentLight
推荐语

RAG优化秘籍,Dify与RAGflow集成实战经验分享。

核心内容:
1. RAGflow与Dify集成时的Redis冲突问题
2. Docker服务改造与配置文件修改技巧
3. 知识库创建及连接RAGflow的操作步骤

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

在上一篇我们已经将RAGflow成功进行了部署,文档也成功进行了解析。但是在后面发现dify竟然不能使用了。



想必有很多人,肯定也会遇到这些问题。RAGflow和Dify在本地化安装的时候,redis进行了冲突了,导致了dify不能实现。


后面通过DeepSeek帮助进行一系列的问题的解答,我经历了配置文件的各种修改,docker服务的创建修改,然后.........终于彻底不能使用了


Dify直接访问失败了,docker创建了很多重复的服务,docker默认安装在C盘,空间直接拉爆,马上C盘都爆满了。


所以痛并思痛,我这里决定从头来吧。从Docker开始进行重新改造。





Docker 改造




重新安装Docker。将原有的应用卸载。


重装后将原来默认的/user/local/Docker/wsl路径,改为自己自定义的路径。


image.png


重装后,也是有报错。



将原有的卸载的内容,进行删除。相关的注册表的内容,也进行删除。


在通过 wsl -- update 进行修复。



RAGflow  和 Dify 问题解决




默认情况下,dify不能和ragflow放到同一台服务器,因为redis环境变量会出现冲突!


RAGFlow解析文件时,会出现报错:AssertionError("Can't access Redis, Please check the Redis' status.")


这个是造成冲突不能使用的根本原因。


我们的解决办法是:docker-compose -p dify up -d。


p 参数的作用

命名隔离:

使用不同的项目名称可以避免不同项目之间的容器、网络和卷的命名冲突。


例如,如果你有两个项目分别使用 docker-compose,它们的容器名称可能会冲突。通过指定不同的项目名称,可以确保它们的资源(如容器、网络、卷)是独立的。


管理方便:

通过指定项目名称,可以更方便地管理和操作特定的项目,而不会影响其他项目。


那我们通过在各自项目的Dokcer中,输入下面的命令,

docker-compose -p dify up -d docker compose -p ragflow -f docker-compose.yml up -d


那重启启动后的Docker,可以看下,按照ragflow和dify进行区分。这样就可以解决了之前不能冲突的问题了。


image.png
image.png


image.png


但是Docker都安装运行后,CPU扛不住啊。


image.png




Dify 连接 RAGflow




创建知识库,连接外部的知识库。


image.png


Name: 自定义名称。

API Endpoint: 填写 http://<内网 IP>:9380/api/v1/dify(将 <内网 IP> 替换为 RAGFlow 所在主机的内网 IP)。

API Key: 填写之前在 RAGFlow 中创建的 API Key。


image.png


image.png


将RAGflow知识库中的id,我们进行配置。连接即可。


image.png


Dify链接效果测试




Dify中创建一个应用,进行测试


image.png


image.png


到这里了,基本的测试已经完成了。终于遇到的坑还是不少的,通过Deepseek也是有一定的解答,帮助我进行了很多问题的解答。其实在设置里发现了很多Ragflow里需要设置的内容,后面在进行详细的介绍,大家可以相互学习下。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询