摘要:首先我们需要解决一个问题,就是在本地的ragflow和dify的页面默认的访问端口是有冲突的(用的都是80和443端口)。
首先我们需要解决一个问题,就是在本地的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://: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。
这样接入还挺丝滑的,非常推荐!
来源:正正杂说