RAGFlow系列(03):把知识库通过API方式共享给Dify等外部平台使用
到目前为止,RAGFlow借助其丰富的切片方式,在rag知识库领域依然是佼佼者,精准度方面也领先于dify等其它平台,但是dify的界面相对更加友好,而且工作流、智能体方面比RAGFlow要好,所以对用户层面打算还是使用dify搭建,利用api来调用RAGFlow创建好的知识库。本篇介绍核心操作步骤。
一、RAGFlow中创建知识库
配置环节影响知识库精准度的最核心因素就是嵌入模型和切片方法了,这个在后续文章中分篇详细介绍,这里就不多说了。
保存后打开创建好的知识库,在浏览器中可以看到知识库的id,记录好这个id,后面会用到。
二、RAGFlow中配置api服务器,增加api key
在上图第3步有api接口地址,第2步点击按钮按提示可以创建api key,创建后入下图所示:
到这里,供外部使用的知识库api接口三要素就准备好了。但是有一点要提醒的是上午的网址不能直接使用,ragflow对外提供服务的默认端口是9380,而不是提供web服务的指定端口,dify内调用外部接口时也会自动加上后缀,api服务器地址应写成如下格式:
http://192.168.11.92:9380/api/v1/dify
如果ragflow与dify在同一台服务器,可以使用如下网址,这是经host转换后的域名,是个虚拟域名。
http://host.docker.internal:9380/api/v1/dify
三、Dify中使用ragflow外部知识库
1.创建外部知识库
上图用到了之前准备的三个参数中的两个了。
2.使用外部知识库
在这里可以做召回测试,检验一下效果,比如精准度啥的。
测试没有问题后,就可以在聊天助手或者智能体等应用中使用它了。