一文读懂 RAGFlow 知识库接入 Dify 的全流程

前面,我发了一篇部署ragflow的文章,以及如何让ragflow与dify共存在一台电脑上:安装ragflow后,之前部署的Dify咋不能用了?(附ragflow一键安装包dify共存版)

今天来给大家分享一下,如何将ragflow知识库接入dify,作为dify的外挂知识库。

一、RAGFlow中相关操作

一)配置模型

如果知识库配置RAPTOR策略的话,需要配置大模型,此处跟Dify上配置模型类似,rerank模型,embedding模型已经默认配置好,无需再配置,只需配置chat模型即可,配置上后,方便其他地方使用。

二)创建RAGFlow知识库

此处先以最简单配置。

三)获取ragflow接口密钥

四)获取知识库ID

二、Dify接入RAGFlow

一)添加外部知识库API

二)如何确定ragflow的api节点?

1、先看Dify关于外部知识库都说了些什么?

参考地址:外部知识库 API | Dify

貌似找不出什么,因为这个节点肯定是由外部知识库定义,只要遵循Dify的端点定义要求就行了,即:url路径中要有一个/retrieval

2、查看ragflow官方是否支持接入其他系统

我在0.13版本的更新说明中,找到了增加了支持dify外部知识库的跟新说明:

地址:https://github.com/infiniflow/ragflow/releases

3、源码中找到Dify知识库召回接口

至此,我们可以拼凑出外部知识库的节点的后半部分:/dify/retrieval

4、节点前面的域名怎么定?

接口是对外提供服务的,是后端服务,所以,他是ragflow-server提供的,我们可以看到,ragflow的容器中,ragflow-server是对外提供服务的,有两种服务:

  • 一个是web网页端口的服务:默认是80端口,为了避免和dify端口冲突,我这里改为了90端口,还有就是ssl端口443,我这里也改为了543端口
  • 另一个就是接口服务的端口:9380,这个就是我们的知识库接口对外的服务端口,web前端通过接口提供的服务,与后端进行数据交互

到这里,ragflow的外部知识库接口前面的节点就确定了:http://{你的IP}:9380

5、你的IP地址怎么确定?

由于我们的项目是通过docker启动的,所以,统一使用 host.docker.internal:9380

这里解释一下这个域名:

host.docker.internal 是Docker提供的一种方便的机制,用于在开发和测试环境中从容器访问宿主机的服务。这个名称在Docker Desktop for Windows和Docker Desktop for Mac上是可用的,它允许容器中的应用程序访问宿主机上的服务和端口。

在不同的操作系统(如Windows和Mac)上,宿主机的IP地址可能会有所不同。host.docker.internal 提供了一个统一的名称,使得容器中的配置在不同平台上保持一致。

6、这就够了吗?

按照前面一步步推理,理论上来说,一个完整的api节点应该完整了,但是这就够了吗?

我们看下官方文档:

发现每个接口都有个公共前缀:/api/v1

这其实也是绝大多数后端服务的通行做法,加上前面我们拼接处的api节点,现在才算是完整的拼接出了api节点了:http://host.docker.internal:9380/api/v1/dify/retrieval

7、再回到前面的Dify关于外部知识库api的定义

我们现在可以确定Dify中关于外部知识库的节点定义了,如下图:

三)填写RAGFlow关键信息

① 自定义外部知识库名称

② 外部知识库接口base url

③ RAGFlow的API KEY

四)连接外部知识库

三、创建一个Dify聊天助手

一)应用基本信息

二)添加知识库为上下文

三)测试

1、聊天效果

2、请求日志查看

RAGFlow已经自带了中英文各种嵌入模型和rerank模型,到对应场景,配置参数时,自动默认好对应模型,这一点很赞!

通过其背部整合的深度文档解析器,可以针对文档布局进行分析,就像人有了一双眼睛,看到的不仅仅是文字,还有篇章布局,获取的文档信息更加丰富,层次维度更加多元。

我们可以根据情况,各取所长,融入更多自己的更多工作场景!

后续我也会持续分享更多Dify以及ragflow的实战干货经验,感兴趣的点个关注加置顶,可以第一时间收到发文提醒~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值