dify v1.0.1外挂ragflow知识库,确实可以封神了!【喂饭级教程】

dify最近已经更新到了v1.0.1版本(更新/修复内容如下)使用的dify和ragflow都是使用docker本地部署的

dify本地部署ragflow本地部署在往期文章都分享过,这次就不再赘述了。

dify v1.0.0升级到最新v1.0.1

我们先把本地的dify升级成最新v1.0.1版本(我的dify目前还是v1.0.0)

PS:本次升级仅适用于docker部署方式

先进入dify源码所在根目录/docker目录下,把docker-compose.yaml文件备份一个副本。

图片

然后去github上面下载dify v1.0.1最新的docker-compose.yaml文件。

把docker目录下旧的docker-compose.yaml替换掉

图片

没有科学上网的朋友也可以在公众号后台私信:“dify1.0.1” 获取最新v1.0.1版本的docker-compose.yaml文件

替换之后在地址栏输入cmd 回车,进入docker-compose.yaml所在目录的控制台。

图片

在控制台执行docker-compose up -d

图片

直到出现如下日志,就代表升级启动成功啦

图片

这时候我们访问dify页面:127.0.0.1

点击右上角头像,下拉框中可以看到已经成功升级到v1.0.1了

图片

dify外接ragflow知识库

首先我们需要解决一个问题,就是在本地的ragflow和dify的页面默认的访问端口是有冲突的(用的都是80和443端口)。

如果不解决这个问题就会导致某一方无法正常启动。

我的解决方案是修改ragflow的默认端口,可以参考我的ragflow配置(如下:在docker-compose.yml里面把ragflow映射到主机的端口改掉,改成容器的80端口映射到主机的8000端口,433端口映射到主机的4333端口)

这样就不会和dify的主机端口冲突了

图片

docker-compose.yml有改动的话

需要重新执行docker-compose up -d来重置服务使配置生效(执行位置还是要在docker-compose.yml所在的当前路径)。

图片

重置ragflow之后,我们就可以通过:127.0.0.1:8000 来访问ragflow的页面了。

图片

并且ragflow官方已经提供了dify外接知识库的接口,所以不需要像之前dify外接fastgpt那样自己开发一套适配程序了。

接下来的整个对接过程非常丝滑~

首先,我们需要去拿到ragflow的三个要素:

知识库的api地址、apikey、知识库id

点击ragflow右上角头像->API->API KEY->创建新密钥(复制备用)

并把 API服务器地址 复制备用

图片

我准备把下面 ragflow中的内存条商品表知识库,外接到dify

点击进入

图片

在路径栏中复制知识库id 备用

图片

回到dify这边

在知识库->外部知识库->添加外部知识库

图片

name随便填一个

API Ednpoint:填写http://<ragflow地址>:9380/api/v1/dify

apikey填写刚才在ragflow创建好的apikey,点击保存

图片

PS:由于我的dify和ragflow都部署在同一个主机的docker中,所以dify可以通过主机的内网ip访问ragflow的知识库。

windows可以通过在控制台输入ipconfig找到本机内网ip

图片

Linux可以输入ifconfig找到本机内网ip

图片

保存成功的话,会有成功的提示,并且在外部知识库中会增加一条

图片

点击连接外部知识库

图片

按照下图,填写好信息

TopK 和 相似度阈值自行根据需要调整,最后点击连接

图片

就创建成功啦

图片

接下来我们测试看看~

创建一个空白应用,关联刚刚创建的 ragflow-内存条商品表知识库

图片

这里我没有开启重排(不过大家后续使用也可以开启,测试效果)

图片

我在ragflow和dify两边都创建了测试应用(参数都调整到相同状态)

测试了一下(下图,左边dify,右边ragflow)

AUTUMN

图片

图片

我检查了原表格数据,确实表格里面所有海盗船内存条中仅有一种是32G的。

图片

回答挺准的,两边效果一致!目标达成。

本次仅测试知识库问答效果,不对内存条产生购买建议

dify借助ragflow很大程度弥补了知识库解析、知识库问答效果的不足,最方便的是ragflow官方本身就支持了dify的外部知识库API。