在AI模型应用编排领域,Dify凭借灵活的工作流设计、友好的交互体验,成为很多人搭建智能应用的首选;而RAGFlow则在文档解析、知识召回的精准度上表现突出。如果能让Dify“借用”RAGFlow的知识库能力,就能实现“强强联合”——既保留Dify的应用构建优势,又拥有RAGFlow可靠的知识检索效果。今天就手把手教你如何操作,让Dify外挂RAGFlow知识库,实现更精准的知识召回。

一、前置准备:部署并配置RAGFlow知识库
要让Dify调用RAGFlow的知识,首先得在RAGFlow里搭建好可用的知识库,这一步是后续集成的基础,如果有就不需要在创建知识库,如果没有可以根据下面的步骤进行创建。
1.1 创建RAGFlow知识库
点击创建知识库:

在弹出的窗口输入知识库的名称,之后点击确定:

之后进入配置界面,在配置界面最主要的配置是下面这一块:

嵌入模型,一个好的嵌入模型直接决定传入的文档切分的质量,所以这个也非常重要,可以根据自己所建知识库文档的类型以及作用,在网上找一个合适的模型。
切分方法里面总共有11种,下面我把这十一种所适用的文档在下面做个解释:
- General:通用型,无特定场景,适配各类内容。
- Q&A:针对问答内容,拆分问题与答案。
- Resume:用于简历,按模块(如教育、工作经历)切分。
- Manual:适配操作手册,按步骤、功能说明切分。
- Table:处理表格内容,提取行列数据。
- Paper:针对论文,按摘要、引言、方法等结构切分。
- Book:按书籍的章节、篇章切分。
- Laws:依据法律条文的层级(编、章、条等)切分。
- Presentation:适配演示文稿,按幻灯片或主题板块切分。
- One:单条内容,不做复杂切分。
- Tag:按标签分类切分内容。
除过这一个模块的其他模块设置可以根据自己所建知识库的需求来进行设置,这里不过多赘述。
设置好之后就可以传入文档等待分析完成即可
1.2 上传并解析文档
空的知识库无法提供检索服务,接下来需要上传文档并完成解析(只有解析后的文档,才能被系统识别为可检索的知识):
-
在刚创建的知识库卡片上点击【打开】,进入知识库详情页;
-
点击【新增文件】按钮,在文件上传界面选择你准备好的文档(支持PDF、Word、TXT等常见格式,建议先检查文档内容,确保无乱码或格式错误);

-
文档上传完成后,找到该文档对应的【运行】按钮(通常是一个“播放”图标),点击开始解析;

-
等待解析完成(解析时间取决于文档大小,小文档几秒内完成,大文档可能需要1-2分钟),解析成功后,文档就正式加入知识库,可用于后续检索。
二、关键信息获取:RAGFlow的API Key与知识库ID
Dify要“连接”RAGFlow,需要两个核心“钥匙”:RAGFlow的API Key(用于身份验证,确保调用合法)和目标知识库的ID(告诉Dify要调用哪个知识库)。这一步一定要仔细,信息错了会导致后续连接失败。
2.1 获取RAGFlow的API Key
-
在RAGFlow界面右上角,点击你的头像(通常是默认图标或自定义头像);

-
在弹出的菜单中,选择左侧的【API】选项,进入API设置页面;

-
找到【API Key】模块,点击【创建秘钥】按钮,系统会生成一串随机字符(这就是API Key);

-
点击【复制】按钮,将API Key保存到记事本或其他地方(后续要粘贴到Dify,手动输入容易出错,务必复制完整)。
2.2 获取RAGFlow知识库ID
-
回到RAGFlow的【知识库】页面,找到你刚才创建并上传了文档的知识库,点击【打开】;
-
此时观察浏览器的地址栏,地址中会有“id=”的字段,“id=”后面的一串字符(通常是字母+数字的组合)就是知识库ID;

-
同样将这个ID复制保存好,比如地址是“http://ragflow-ip/kb/detail?id=abc123def456”,那么“abc123def456”就是知识库ID。
三、核心操作:Dify对接RAGFlow外部知识库
Dify支持对接外部知识库API,我们就是通过这个功能,让Dify“认”到RAGFlow的知识库。整个过程分为“添加外部知识库API”和“连接外部知识库”两步,难度不大,但细节要注意。
3.1 添加RAGFlow外部知识库API
-
打开Dify主界面,在左侧菜单栏选择【知识库】,进入知识库管理页面;

-
在页面中找到【外部知识库API】选项,点击进入(这个入口是Dify对接第三方知识库的关键);

-
点击【添加外部知识库API】按钮,弹出配置窗口,按以下要求填写信息:
-
Name(名称):自定义即可,比如“RAGFlow-产品手册库”,方便后续区分;
-
API Endpoint(接口地址):填写格式为“http://你的RAGFlow实际IP:80/api/v1/dify/”(注意:这里的“实际IP”要替换成你部署RAGFlow的服务器IP或本地IP,比如“http://192.168.1.100:80/api/v1/dify/”);
这里需要说明一下:Dify会自动在这个地址后面加上“retrieval”,最终形成完整的调用路径“http://实际IP:80/api/v1/dify/retrieval”,所以不用手动加“retrieval”; -
API Key:粘贴你刚才在RAGFlow中复制的API Key(务必完整粘贴,不要多空格或少字符);

由于我们的项目是通过docker启动的,所以,统一使用 host.docker.internal:9380
这里解释一下这个域名:
host.docker.internal
是Docker提供的一种方便的机制,用于在开发和测试环境中从容器访问宿主机的服务。这个名称在Docker Desktop for Windows和Docker Desktop for Mac上是可用的,它允许容器中的应用程序访问宿主机上的服务和端口。
在不同的操作系统(如Windows和Mac)上,宿主机的IP地址可能会有所不同。host.docker.internal 提供了一个统一的名称,使得容器中的配置在不同平台上保持一致。
-
-
填写完成后,点击【保存】,此时Dify就已经“知道”如何调用RAGFlow的API了。
3.2 连接RAGFlow外部知识库
添加完API配置后,还需要进一步“绑定”具体的知识库(也就是你在RAGFlow中创建的那个知识库):
- 回到Dify的【知识库】主页,点击【连接外部知识库】按钮,进入连接设置界面;
- 在设置界面填写以下信息:
- 连接名称:自定义,比如“Dify-RAGFlow产品库连接”;
- 外部知识库API:在下拉菜单中选择你刚才添加的“RAGFlow-产品手册库”(或你自定义的名称);
- 外部知识库ID:粘贴你保存的RAGFlow知识库ID;
- 召回个数:设置每次检索时返回的结果数量(比如5个、10个,根据你的需求调整,数量越多,覆盖信息越全,但可能会增加筛选成本);
- 阈值:设置召回结果的相关性阈值(0-1之间,比如0.6,数值越高,返回的结果越精准,但可能会漏掉部分相关信息,建议先按默认0.5设置,后续测试调整);
- 填写完成后,点击【连接】,Dify就会与RAGFlow的目标知识库建立连接。

四、验证效果:测试Dify的知识召回准确性
连接完成后,一定要测试一下召回效果,确认Dify能准确从RAGFlow知识库中获取信息。
4.1 进入Dify测试界面
-
连接成功后,系统会自动跳转到测试界面;如果没有自动跳转,你也可以在Dify【知识库】主页找到刚才创建的“外部知识库连接”,点击进入详情页,再点击【测试】按钮;

-
在测试输入框中,输入你想检索的关键词(比如我在知识库中上传了“产品标准文档”,就输入“标准”两个字);
-
点击【检索】,等待系统返回结果。
4.2 对比RAGFlow原生检索效果
为了验证召回的准确性,我们可以同时在RAGFlow中做相同的测试:
- 打开RAGFlow的目标知识库,在检索输入框中同样输入“标准”;
- 确保RAGFlow的“召回个数”和“阈值”与Dify中的设置完全一致(比如都设为“召回5个,阈值0.5”);
- 点击检索,观察返回结果。
4.3 测试结果说明
我在实际测试中发现:在相同的检索关键词、召回个数和阈值下,Dify返回的知识结果与RAGFlow原生检索结果完全一致——这说明Dify已经成功“外挂”了RAGFlow知识库,能精准调用其知识检索能力。
总结
通过以上四步操作,我们就实现了Dify与RAGFlow的深度集成:既保留了Dify在应用构建、工作流设计上的优势,又借助RAGFlow出色的文档解析和知识召回能力,让智能应用的回答更精准、更可靠。这种“取长补短”的方式,能有效提升AI应用的实用性,尤其适合需要基于大量文档提供精准回答的场景(比如产品客服、技术支持、文档问答等)。
如果后续需要更新知识库,只需在RAGFlow中上传新文档并解析,Dify就能自动调用最新的知识,无需重复配置——整个流程既灵活又高效,推荐大家动手试试!

2242

被折叠的 条评论
为什么被折叠?



