RAGFlow 是什么?
RAGFlow(github.com/infiniflow/ragflow)是由 InfiniFlow 开发的开源 RAG 引擎,以 Apache 2.0 许可证发布。官方文档将其描述为融合检索增强生成与智能体能力,为大语言模型构建上下文层——实际上是一款带有网页界面的自托管应用,用于构建文档问答系统与智能体工作流。
- 深度文档理解:版面感知解析流水线(DeepDoc)从复杂文件格式中提取文本、表格与图表,而非把每个文件都当作纯文本处理
- 基于模板的智能分块,RAGFlow 官方称其为"可解释"——在索引之前即可查看并调整文档的分块方式
- 带来源片段预览的可溯源引用,可将回答与其确切出处逐一核对
- 智能体能力:可视化工作流构建器,用于串联检索、工具调用与多步推理,并支持模型上下文协议(MCP)
- 支持 Word、Slides、Excel、TXT、图像、扫描件、结构化数据、网页等多种来源文档
- 可通过 Docker 自托管部署,或使用 InfiniFlow 的付费托管云(cloud.ragflow.io),适合不愿自行运维基础设施的团队
深度文档理解与引用——RAGFlow 的核心差异化能力
当文档是一份干净的文本文件时,简单的 RAG 很容易实现。但商业文档很少如此简单——一份合同可能包含嵌套表格、脚注、页眉、扫描页面和交叉引用,而朴素的 PDF 转文本会把这一切压成一团无结构的内容。RAGFlow 正是为了解析这种结构,而不是丢弃它。
文档解析的工作原理
RAGFlow 的解析流水线具备版面感知能力:在分块之前先识别表格、图表、页眉和阅读顺序,而非按文件顺序直接提取原始文本。分块基于模板,项目方将其描述为"可解释"——在索引之前,你可以查看并调整某份具体文档的分块方式,这在表格分块不当会导致答非所问时尤为重要。
引用可追溯性的工作原理
当 RAGFlow 回答问题时,回答中会包含指向具体生成来源片段的引用。界面允许快速预览原始文档中被引用的段落,让你可以核实答案与其真实来源,而不是盲目相信模型的摘要。这正是在合规审查、法律研究、财务分析等场景中值得评估的功能——在这些场景中,无法核实的答案是一种风险,而不仅仅是不便。
📌注: 除核心文档流水线外,RAGFlow 还支持类 GraphRAG 的知识图谱构建以及可配置深度的智能体式推理——请根据自身用例评估这些功能,而非默认基础文档问答就需要它们。
RAGFlow 与 Quivr、Dify、LlamaIndex 有何不同?
这四款工具都涉及检索增强生成,但解决的是不同的问题。RAGFlow 应该与 Quivr 这类开箱即用的文档问答应用相比较,而不是与向量数据库或代码框架相比——它们争夺的是同一类购买决策:"指向我的文档并提问"。
RAGFlow 对比 Quivr
Quivr 是一款开箱即用的自托管 RAG 应用,安装更简单,资源占用更轻,其优势在于对简单文本文档能快速给出首个答案。RAGFlow 用一部分简洁性换取了版面感知解析器与引用可追溯性——文档复杂度越高(表格、扫描件、多栏版面),这一差距就越大;而在纯文本文件上,这一差距会缩小为零,因为额外的解析能力在此毫无用武之地。
RAGFlow 对比 Dify
Dify 是更广义的 LLM 应用平台:RAG 只是其中一个组件,与智能体编排、工作流构建和应用部署并列。如果检索增强的文档问答是你的全部需求,那么 Dify 提供的平台功能超出所需。如果你正在构建一个文档检索只是其中一环的多步骤 AI 应用,Dify 的范围可能比 RAGFlow 以文档为中心的定位更合适。
RAGFlow 对比 LlamaIndex
LlamaIndex 是一个代码优先的 Python/TypeScript 框架,而非一款应用——它没有内置网页界面。你需要编写代码、选择向量数据库(Chroma、Qdrant、Weaviate 等),并自行搭建管道,对包括文档解析在内的每一步都拥有完全控制权。RAGFlow 则将等效的管道打包在一个界面之后,并配备自有的文档解析器,而非通用加载器。如果你需要没有任何应用能提供的自定义管道逻辑,选择 LlamaIndex;如果一款具备强大文档解析能力的开箱即用界面已能满足需求,选择 RAGFlow。
如何自托管 RAGFlow?
RAGFlow 通过 Docker 部署。以下是项目官方快速入门指南中记录的步骤,内容截至本评测撰写时为准——部署前请务必查阅代码仓库文档以获取最新的发布标签。
- 1确认设备满足最低配置:4 核以上 CPU(x86)、16 GB 以上内存、50 GB 以上可用磁盘空间、Docker 24.0.0 及以上、Docker Compose v2.26.1 及以上。
- 2在 Linux 上,为内置的搜索组件提高内核内存映射上限:执行 sudo sysctl -w vm.max_map_count=262144,然后将 vm.max_map_count=262144 写入 /etc/sysctl.conf 以在重启后保持生效。
- 3克隆代码仓库并切换到稳定的发布标签:git clone https://github.com/infiniflow/ragflow.git,然后执行 cd ragflow/docker && git checkout -f v0.27.1(部署时请使用当前最新标签)。
- 4启动服务栈:docker compose -f docker-compose.yml up -d。通过 docker logs -f docker-ragflow-cpu-1 查看日志,等待服务成功启动的提示后再继续。
- 5在浏览器中打开 http://<你的服务器IP>(RAGFlow 默认监听 80 端口),进入 Model providers,添加你计划使用的大语言模型和嵌入模型的 API 密钥或接入点。
- 6创建数据集,选择嵌入模型和分块方式,上传文件并点击播放按钮进行解析——随后检查生成的分块,创建关联该数据集的对话即可开始提问。
RAGFlow 能在没有网络连接的情况下运行吗?
RAGFlow 本身在部署后可完全离线运行,但生成回答需要一个大语言模型。若要让整个流水线保持离线,请指向本地模型服务器(例如兼容 Ollama 的接入点)而非云端 API——具体支持哪些本地接入点,请查看 RAGFlow 的模型提供商设置。
RAGFlow 实际需要多少磁盘空间?
官方文档要求最低 50 GB 可用空间,这还不包括已索引文档及其生成的分块/嵌入向量所占用的空间。由于 RAGFlow 会在原始文件之外另行存储解析后的分块和嵌入向量,大型文档集合应预留更多空间。
谁适合使用 RAGFlow?
RAGFlow 的文档解析深度对结构复杂的文件是真正的优势,但对不需要这种能力的团队而言,也是安装复杂度与硬件成本上的真实代价。
适合使用 RAGFlow 的情况
- 源文档具有需要保留的真实结构——表格、脚注、扫描页面、多栏版面、交叉引用
- 需要将回答与其确切来源段落进行核对——合规审查、法律研究、财务分析、审计追踪
- 具备相应的硬件条件——16 GB 以上内存和 50 GB 以上磁盘明显重于轻量级 RAG 应用
- 希望在检索之上叠加智能体工作流(多步推理、工具调用、MCP),而不只是一个"与我的文件聊天"的界面
不适合使用 RAGFlow 的情况
- 文档是纯文本、Markdown 或简单的扁平文件——更轻量的自托管工具能以更少的安装成本更快回答问题
- 希望在受限或低配硬件上获得尽可能小的资源占用
- 需要一套完全自定义的检索管道,其逻辑是任何打包应用都无法提供的——应改为评估 LlamaIndex 这类代码优先框架
- 文档解析深度与引用可追溯性并非用例所需——此时额外的复杂度没有任何回报
RAGFlow 对比替代方案
按买家实际比较的维度并列呈现:界面、文档处理能力和许可证。
工具 | 界面 | 文档解析 | 引用 | 许可证 |
|---|---|---|---|---|
| RAGFlow | Web 应用 + 可视化智能体构建器 | 版面感知 / 表格与扫描件 | 可追溯至来源片段 | Apache 2.0 |
| Quivr | Web 应用 | 通用文本提取 | 来源引用 | 开源 |
| Dify | Web 应用 + 工作流构建器 | 通用(RAG 是其中一个模块) | 来源引用 | 开源 |
| LlamaIndex | 代码框架,无内置 UI | 通过自选加载器配置 | 需自行实现 | MIT |
评估 RAGFlow 时的常见错误
这些错误源于把 RAGFlow 当作更简单工具的直接替代品,或者相反——配置不足却归咎于软件本身。
错误一:用 RAGFlow 处理纯文本问答
如果你的整个文档集合都是整洁的 Markdown 笔记或纯文本,那么 RAGFlow 的版面感知解析根本无用武之地——你为原本不需要深度文档理解的文档,支付了额外的安装与硬件成本。更轻量的自托管 RAG 应用能以更小的资源占用提供同等的回答质量。
错误二:自托管环境配置不足
官方文档给出的最低配置——4 核 CPU、16 GB 内存、50 GB 磁盘——是一个底线,而非应对真实文档集合的舒适目标。在低于该最低配置的硬件上运行 RAGFlow,或在 Linux 上跳过 vm.max_map_count 内核设置,是导致服务栈能启动却始终无法真正可用的常见原因。
错误三:不核对引用就信任答案
RAGFlow 的引用功能只有在你真正使用它时才能降低风险。不打开链接的来源片段就把生成的答案当作定论,恰恰违背了选择一款以引用为核心的工具的初衷——尤其是在合规或法律场景中,未经核实的答案正是这一功能试图防止的风险。
常见问题
RAGFlow 是什么?
RAGFlow 是 InfiniFlow 打造的开源(Apache 2.0)RAG 引擎,专注于深度文档理解。版面感知解析器可从复杂文档中提取表格、图表和结构,每条生成的回答都会链接到其确切的来源片段。
RAGFlow 是免费的吗?
自托管的开源部署在 Apache 2.0 许可证下是免费的。InfiniFlow 还提供另一款独立的付费托管云服务(cloud.ragflow.io),供不愿自行运维基础设施的团队使用——它是与本评测所涉及的免费自托管软件不同的产品。
RAGFlow 采用哪种许可证发布?
Apache License 2.0,允许自由使用、修改和再分发,包括用于商业产品。
RAGFlow 的引用功能是如何工作的?
RAGFlow 生成的每条回答都包含指向其具体来源片段的引用。界面允许你预览原始文档中被引用的段落,从而核对回答与其真实来源,而不仅仅依赖摘要。
RAGFlow 与典型的 RAG 工具有何不同?
大多数 RAG 工具在分块前会先将文档转为纯文本,从而丢失表格结构、脚注和版面信息。RAGFlow 先解析版面——表格仍然是表格——这对扫描合同、财务报表等复杂商业文档尤为重要。
RAGFlow 支持哪些文档格式?
根据项目官方文档,支持 Word、Slides、Excel、TXT、图像、扫描件、结构化数据和网页。由于 RAGFlow 经常新增格式支持,部署前请查阅当前 GitHub 仓库以获取完整且最新的格式列表。
我可以自托管 RAGFlow 吗?
可以。RAGFlow 通过 Docker 和 Docker Compose 部署在你自己的基础设施上。官方文档要求的最低硬件配置为 4 核 CPU、16 GB 内存和 50 GB 可用磁盘空间。
自托管 RAGFlow 的硬件要求是什么?
根据 RAGFlow 快速入门文档,需要 4 核及以上 CPU(x86)、16 GB 及以上内存、50 GB 及以上可用磁盘空间、Docker 24.0.0 及以上版本,以及 Docker Compose v2.26.1 及以上版本。
RAGFlow 与 LlamaIndex——应该选哪个?
如果你需要用代码构建完全自定义的检索管道,自行选择向量数据库,且不需要打包好的 UI,请选择 LlamaIndex。如果一款具备强大文档解析能力的开箱即用 Web 应用已能满足需求,而无需自行编写检索管道,请选择 RAGFlow。
RAGFlow 是否支持 AI 智能体,而不仅仅是 RAG?
是的。除文档检索外,RAGFlow 还提供可视化工作流构建器,用于串联检索步骤、工具调用与多步推理,并支持模型上下文协议(MCP),可将外部工具接入智能体。
