Dify外接RagFlow知识库
本文将详细介绍在 Windows 系统环境下,如何实现 Dify 与 Ragflow 的知识库对接。
在大模型应用开发中,知识库的构建与管理至关重要。Dify 作为一款开源的 LLM 应用开发平台,提供了便捷的知识库功能,但其自带的知识库在处理海量数据、复杂检索以及知识更新等方面仍存在不足。为了弥补这些缺陷,开发者可以借助更专业的向量数据库或知识图谱工具,而 Ragflow 便是其中一款以高效、易用著称的知识库解决方案。
Ragflow 专为 LLM 应用设计,提供强大的知识存储、检索、更新和管理能力。通过将 Ragflow 与 Dify 进行外接,开发者可以构建更加精准、高效的知识问答系统,提升模型输出的准确性和可靠性。本文将详细介绍在 Windows 系统环境下,如何实现 Dify 与 Ragflow 的知识库对接。
一、下载项目源码
在 github (https://github.com/infiniflow/ragflow)下载源码压缩包

源码解压之后,到如下路径ragflow\ragflow-main\docker
注:由于之前我的 dify 也是通过 docker 拉取的镜像,这里为区分 ragflow 的 docker 环境,我将 docker 文件夹改名为 docker-ragflow1。

二、修改配置文件
由于之前已经安装了Dify项目,这两个项目都依赖了redis,且web端的端口都是默认80端口,因此,为了避免端口冲突,需要修改配置文件。
2.1 修改web访问默认端口
修改配置,文件位置:ragflow\ragflow-main\docker下的.env文件。

在记事本中 Ctrl+F,查找 SVR_HTTP_PORT,定位到该处,增加一行 Web 端口配置:
WEB_PORT=90
注: 90 是代替源码中的 80 端口,避免和 dify 的 80 端口冲突,也可以改为其他端口。
接着,将下一行代码
RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.2-slim
改为
RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.2

打开 docker 文件夹中的docker-compose.yml

在记事本中 Ctrl+F,查找 SVR_HTTP_PORT,定位到该处,修改 Web 端口配置,并将下一行的 443:443 改为 543:443。

2.2 修改 Redis 配置
打开.env 配置文件,REDIS_HOST 改为ragflow-redis,redis 端口改为 7379。

打开docker-compose-base.yml 文件,服务名称修改为ragflow-redis。

三、Docker 拉取镜像
路径上(D:\ragflow\ragflow-main\docker)输入cmd,回车,进入控制台,输入:
docker compose up -d
报错:

去 deepseek 上查询:


再次输入:
docker compose up -d
ragflow的镜像比较大,约有 9 个 G。
四、RagFlow 知识库构建
4.1 模型配置
由于前面我们把web端口设置为了90端口,docker镜像拉取后,等待容器启动完成,在浏览器输入:127.0.0.1:90 即可访问。

设置ragflow,添加大模型。
单击页面右上角的徽标>模型提供商:找到想添加的大模型。

单击所需的LLM并相应地更新API密钥。

在系统设置中选择默认模型。我这里添加了 deepseek 的 API。

单击系统模型设置以选择默认模型:
- 聊天模型,
- 嵌入模型,
- 图像到文本模型。

4.2 创建知识库
将文件上传到RAGFlow中的知识库并将其解析为数据集。知识库实际上是数据集的集合。RAGFlow中的问答可以基于特定的知识库或多个知识库。RAGFlow支持的文件格式包括文档(PDF、DOC、DOCX、TXT、MD)、表格(CSV、XLSX、XLS)、图片(JPEG、JPG、PNG、TIF、GIF)和幻灯片(PPT、PPTX)。
单击页面顶部中间的知识库选项卡>创建知识库。

输入知识库名称,然后单击确定以确认更改。进入知识库的配置页面。

RAGFlow提供了多种块模板,可满足不同的文档布局和文件格式。为知识库选择嵌入模型和块方法。进入知识库的数据集页面。

单击+添加文件>本地文件以开始将特定文件上传到知识库。在上传的文件条目中

单击播放按钮开始文件解析:

文件解析完成后,其解析状态更改为SUCCESS。
五、创建 RagFlow 的 API
具体操作参考网页(https://zhuanlan.zhihu.com/p/31369010589)
打开 DIFY,点击知识库,连接外部知识库

填写外部知识库名称,随便取一个。


本文参考网页:
https://zhuanlan.zhihu.com/p/30384672835
更多推荐




所有评论(0)