- Dify 将自身定位为一家综合性的 LLMOps 工作室,能够在创纪录的时间内创建具有界面和 API 的完整应用程序。
- RAGFlow 擅长利用知识图谱深入理解复杂文档。
- 选择取决于您是优先考虑最终产品的部署速度,还是优先考虑数据检索的极高准确性。
如果你正在涉足生成式人工智能领域,你可能已经接触过 RAG 的概念。该系统将文档分割成片段,使用嵌入表示这些片段,并在模型生成响应之前检索最相关的内容。
尽管这种方法仍然有效, 并非所有 RAG 系统都以相同的方式处理文档。将 PDF 文件分割成固定大小的块可能足以查看简单的文本,但当文件包含表格、标题、列、图像或各部分之间的关系时,往往会出现问题。
Dify 和 RAGFlow 也加入了这一行列。乍一看,这两个平台都允许用户创建知识库并回答有关文档的问题,但是…… 他们的主要关注点截然不同。Dify 致力于使用语言模型构建应用程序、代理和工作流,而 RAGFlow 则特别关注文档信息的处理和检索。
因此,选择并不仅仅取决于哪个功能更多,而是取决于你的项目真正的瓶颈在哪里。
Dify:一个用于创建人工智能应用程序的完整平台

Dify 不仅仅是一个 RAG 工具。它把自己定位为一个用于创建、发布和管理的平台。 基于语言模型的应用通过其可视化界面,您可以配置模型、指令、变量、工具、知识库和工作流程,而无需从头开始编写整个基础架构。
该平台允许您创建不同类型的应用程序。例如,您可以设置一个简单的聊天机器人、一个文本生成器、一个包含定义步骤的工作流程,或者一个能够决定使用哪些工具来完成任务的代理。
其基于节点的可视化编辑器是其最大的优势之一。您可以连接用户输入、模型、条件、代码、HTTP 请求、知识检索和其他操作。它还具有代理节点,允许模型…… 推理、选择工具并重复操作 直到达到目标为止。
Dify 的突出之处在于它能让你快速将想法转化为可用的应用程序。工作流程设置完成后,该平台可以提供 Web 界面和 API 接口,以便与其他服务集成。此外,还可以使用小部件将特定应用程序嵌入到页面中。
这并不意味着 Dify 仅限于原型开发。它提供运行时日志记录、使用情况跟踪、提示管理、环境变量、API 以及其他与运行 AI 应用相关的功能。然而,生产环境部署需要正确配置基础设施、身份验证、存储和外部服务。
它的知识系统允许您导入文档、控制分段、选择嵌入模型、应用元数据过滤器以及配置不同的检索策略。当前版本还允许您创建 定制化知识管道 并通过 API 连接外部数据库。
RAGFlow:深度文档处理和恢复

RAGFlow 专注于创建增强型恢复系统。他们的方法侧重于减少将复杂文档简单地简化为一系列非结构化文本片段时发生的错误。
它的核心组成部分之一是 深层文档该系统用于分析文件的设计和内容。根据所选格式和设置,RAGFlow 可以识别页面中的标题、段落、表格、图像和不同区域等元素。
该平台提供多种针对特定内容类型的分段模板。技术手册的需求与演示文稿、书籍、学术文章或表格的需求截然不同。选择合适的解析器有助于在生成嵌入代码之前更好地保留逻辑结构。
RAGFlow 还允许在某些识别和提取过程中使用视觉模型。当 PDF 中包含一些元素,其含义取决于位置,或者无法使用传统的文本提取方法准确检索时,此功能尤其有用。
然而,说 RAGFlow 始终使用知识图谱并不准确。该平台整合了 GraphRAG 作为一项附加功能然而,它的正常检索也使用了片段、嵌入、文本搜索和重排序系统。
它也不能保证总能从表格中检索到精确的数字或完全消除所有误差。最终结果的质量取决于原始文档、分析方法、分割方式、嵌入模型、重排序器以及负责生成响应的模型。
RAGFlow 不仅仅是一个需要通过代码集成的引擎。它还包含一个用于管理数据集、测试检索、与文档交互以及创建代理的 Web 界面。此外,它还提供支持各种集成场景的 API。
建筑差异和安装要求
Dify 和 RAGFlow 可以使用 Docker Compose 安装,但它们都不应该被视为由单个容器组成的小型应用程序。
Dify 使用多个组件来处理界面、API、后台任务、插件、缓存、数据库和向量存储。默认部署可能包含以下服务: PostgreSQL、Redis、工作进程和向量数据库以及其他辅助容器。
RAGFlow 也采用了由不同服务组成的架构。该项目目前要求处理器至少具备四个核心。 16 GB 内存和 50 GB 可用空间此外,还需要最新版本的 Docker 和 Docker Compose。
这些数据应被视为官方起始值。处理大量 PDF 文件、使用可视化模型或同时服务多个用户可能需要更多的内存、存储空间和处理能力。GPU 并非所有功能都必需,但在使用兼容的本地模型时,它可以加速某些任务。
许可方面也存在显著差异。RAGFlow 的许可协议如下: Apache 许可证 2.0Dify 使用其自己的开源许可证,该许可证基于 Apache 2.0,但附加了一些条件,如果您打算使用其界面提供多用户商业服务,这些条件尤其重要。
在任一平台上构建 SaaS 产品之前,建议先查看当前的许可证,不要想当然地认为“开源”就意味着没有限制。
Dify 与 RAGFlow:主要功能对比

| 特征 | 迪菲 | RAGFlow |
|---|---|---|
| 主要关注点 | 人工智能应用程序的创建和运行 | 文档处理和高级检索 |
| 可视化编辑器 | 流程、代理、条件和工具 | 代理、对话和恢复配置 |
| 文档处理 | 可配置的知识库和管道 | 使用 DeepDoc 和多个解析器进行结构分析 |
| GraphRAG | 这并非他们的核心关注点。 | 可作为额外容量 |
| 应用程序发布 | Web界面、API和插入选项 | 用于集成的自定义接口和 API |
| 最佳选择 | 快速创建产品、代理和自动化流程 | 查阅复杂文档并改进检索 |
一个特别有趣的可能就是 同时使用这两种工具Dify 允许您通过检索 API 连接到外部知识库。这样,您可以使用 RAGFlow 处理和检索文档,而 Dify 则负责处理界面、工作流逻辑和工具。
这种组合增加了复杂性和维护性,但避免了在项目既需要高级文档检索又需要可视化应用程序构建器时,必须选择单一平台。
其他替代方案:n8n、Onyx 和 LangGraph
Dify 和 RAGFlow 并非唯二的选择。如果主要目标是实现应用程序之间流程的自动化, n8n 它提供了一种不同的方法。它允许您在可视化工作流程中连接数据库、业务工具、API 和 AI 模型。人工智能可以作为流程中的一个步骤,也可以通过配备工具和记忆的代理来执行操作。
Onyx 的主要设计用途是 商业知识的搜索与管理它可以连接到企业服务,索引内部信息,并利用这些信息回答查询。自动权限同步和其他高级功能是其企业版和云版的一部分。
Onyx Cloud宣布已获得GDPR合规性和SOC 2 II型认证。但这并不意味着自托管部署就自动成为认证的基础设施:在这种情况下,安全性和合规性还取决于服务器、配置以及组织的流程。
对于那些喜欢直接编写代码的人来说,LangGraph 允许你构建具有持久状态、分支、中断和循环的代理。它并不提供像 Dify 那样完整的应用程序,而是一个…… 用于编排代理的编程基础设施 对自身行为的控制更加精确。
根据项目需求选择哪一个
如果您需要快速创建聊天机器人、代理或多步骤应用程序,并且希望获得现成的界面和 API,而无需从头开始开发整个系统,那么 Dify 是最合理的选择。此外,当您需要在可视化环境中测试不同的模型和工具时,Dify 也非常实用。
如果主要问题出在文档本身,那么 RAGFlow 就更有意义了。如果您的现有系统丢失表格、混淆列、将标题与段落分离,或者检索到的片段缺乏足够的上下文,那么 RAGFlow 的解析器和恢复选项可以提供更好的结果。
然而,RAGFlow 不会自动修复任何文档数据库。您需要尝试不同的分割方法,查看生成的片段,并调整嵌入模型、重排序器和搜索参数。
Onyx 最适合用于查询分布在企业各种工具中的信息,并控制每位员工可以查看哪些文档的项目。而 n8n 则更适合用于将 AI 与众多服务连接起来并实现流程自动化的项目。
另一方面,如果您需要完全定制的代理逻辑,并且有能力构建、测试和维护系统,那么 LangGraph 就非常合适。
简而言之, Dify 最适合用作应用程序创建平台。虽然 RAGFlow 更侧重于文档分析和检索,但没有绝对的赢家:正确的选择取决于您面临的最大挑战是构建应用程序还是确保模型获得适当的上下文。
我是一名技术爱好者,已将自己的“极客”兴趣变成了职业。出于纯粹的好奇心,我花了 10 多年的时间使用尖端技术并修改各种程序。现在我专攻计算机技术和视频游戏。这是因为 5 年多来,我一直在为各种技术和视频游戏网站撰写文章,旨在以每个人都能理解的语言为您提供所需的信息。
如果您有任何疑问,我的知识范围涵盖与 Windows 操作系统以及手机 Android 相关的所有内容。我对您的承诺是,我总是愿意花几分钟帮助您解决在这个互联网世界中可能遇到的任何问题。