近期,Dify 发布了 v1.0.1 版本,修复了之前版本中存在的一些问题。根据用户反馈,许多用户对 Dify 集成 RAGFlow 的效果很感兴趣。本文将详细介绍 Dify 集成 RAGFlow 知识库的具体步骤,并评估集成后的实际效果。同时,也将介绍如何将本地 Dify 升级至最新的 v1.0.1 版本。
Dify 与 RAGFlow 简介
在深入探讨集成细节之前,我们先简单了解一下 Dify 和 RAGFlow。
- Dify: Dify 是一个开源的 LLM 应用开发平台,它允许开发者通过可视化的方式编排和运营 LLM 应用。Dify 支持多种模型,并提供了插件、数据集等功能,方便开发者快速构建应用。
- RAGFlow: RAGFlow 是一个基于检索增强生成(RAG)技术的知识库管理工具。它可以将非结构化数据转化为结构化知识,并提供高效的检索和问答能力。RAGFlow 支持多种数据源,并提供了友好的用户界面。
Dify 升级至 v1.0.1
对于使用 Docker 部署 Dify 的用户,可以按照以下步骤升级至 v1.0.1 版本:
备份配置文件: 进入 Dify 源码所在根目录下的 /docker
目录,备份 docker-compose.yaml
文件。
获取新版配置文件: 从 Dify 的 GitHub 仓库下载 v1.0.1 版本的 docker-compose.yaml
文件,替换 /docker
目录下旧的文件。
-
- 对于无法直接访问 GitHub 的用户,可以在 Dify 的官方交流渠道(如公众号)获取新版配置文件。
更新并启动: 在 /docker
目录下的控制台中执行 docker-compose up -d
命令。
- 出现类似以下日志时,表示升级启动成功:
验证版本: 访问 Dify 页面(127.0.0.1
),点击右上角头像,在下拉框中查看版本号是否为 v1.0.1。
Dify 集成 RAGFlow 知识库
Dify 支持通过外部知识库来增强问答能力。RAGFlow 官方提供了与 Dify 对接的 API,使得集成过程非常顺畅。
解决端口冲突
在本地部署 RAGFlow 和 Dify 时,可能会遇到端口冲突问题(两者默认都使用 80 和 443 端口)。为了避免冲突,建议修改 RAGFlow 的默认端口。
- 修改 RAGFlow 端口: 在 RAGFlow 的
docker-compose.yml
文件中,将容器的 80 端口映射到主机的 8000 端口,443 端口映射到主机的 4333 端口。
- 重置 RAGFlow 服务: 在
docker-compose.yml
文件所在目录下执行docker-compose up -d
命令,使配置生效。
- 访问 RAGFlow: 通过
127.0.0.1:8000
访问 RAGFlow 页面。
获取 RAGFlow API 信息
- 创建 API Key: 在 RAGFlow 页面点击右上角头像 -> "API" -> "API KEY" -> "创建新密钥",复制并保存该密钥。
- 获取 API 服务器地址: 复制同一页面上的 "API 服务器地址"。
- 获取知识库 ID: 进入要集成的 RAGFlow 知识库,在地址栏中复制知识库 ID。
在 Dify 中添加外部知识库
- 进入 Dify 知识库管理: 在 Dify 页面中选择 "知识库" -> "外部知识库"。
- 添加外部知识库: 点击 "添加外部知识库"。
- 填写 RAGFlow 信息:
- Name: 自定义名称。
- API Endpoint: 填写
http://<内网 IP>:9380/api/v1/dify
(将<内网 IP>
替换为 RAGFlow 所在主机的内网 IP)。 - API Key: 填写之前在 RAGFlow 中创建的 API Key。
- 获取内网 IP:
- Windows: 在控制台中输入
ipconfig
。 - Linux: 输入
ifconfig
。
- Windows: 在控制台中输入
- 获取内网 IP:
- 点击 "保存"。
- 连接外部知识库:
- Knowledge Base ID: 填写之前在 RAGFlow 中复制的知识库 ID。
- Top K: 根据需要调整。
- Similarity Threshold: 根据需要调整。
- 点击 "连接"。
效果测试
为了验证集成效果,可以创建一个 Dify 应用,并关联刚刚创建的 RAGFlow 知识库。
- 创建 Dify 应用: 创建一个空白应用,关联 RAGFlow 知识库。
- 进行问答测试: 在 Dify 和 RAGFlow 中分别创建测试应用(参数调整一致),进行相同的问答测试。
根据测试结果,Dify 和 RAGFlow 的回答基本一致,表明集成成功。Dify 通过集成 RAGFlow,有效提升了知识库问答的准确性。
原表格数据中所有海盗船内存条中仅有一种是32G的。
总结
Dify 集成 RAGFlow 知识库是一种有效的增强问答效果的方案。RAGFlow 提供的知识库解析和问答能力,可以弥补 Dify 在这方面的不足。同时,RAGFlow 官方提供的 API 使得集成过程非常便捷。