GitHub: infiniflow/ragflow
Stars: 82,800+ | Language: Python (41.0%), Go (26.2%), TypeScript (25.3%) | License: Apache 2.0
官网: ragflow.io | 最新版本: v0.26.0 (2026-06-11)
目录
项目速览
RAGFlow 由 infiniflow 团队开发,是当前 GitHub 上 Star 数最高的开源 RAG 引擎,截至 2026 年 6 月已累计超过 82,800 颗 Star,共发布 48 个版本。与纯向量数据库(如 Chroma、Milvus)不同,RAGFlow 定位为一站式 RAG 平台:从文档解析、智能分块、向量化到检索增强生成,提供完整的端到端工作流。
RAGFlow 最核心的差异化能力在于深度文档理解(Deep Document Understanding)。传统 RAG 系统对 PDF 中的表格、图片、多栏排版等复杂结构处理能力薄弱,而 RAGFlow 的 deepdoc 模块专门针对此类非结构化文档进行了深度优化。它能识别并提取 PDF 中的表格数据、图片中的文字(OCR)、复杂排版中的段落关系,显著提升了从”脏文档”到结构化知识的转化质量。
v0.26.0 版本进一步引入了 Agentic 工作流与 MCP(Model Context Protocol)支持,RAGFlow 正从纯 RAG 引擎向”RAG + Agent”一体化平台演进。
功能概述
深度文档理解 — deepdoc 引擎
RAGFlow 的 deepdoc 是其技术护城河。它针对不同文档类型实现了专用的解析管道:
- PDF:支持多栏布局识别、表格提取、图片内文字 OCR、页眉页脚去除
- Word/PPT/Excel:基于文件格式规范的结构化解析,保留层级关系
- 图片:OCR + Layout 分析,识别图片中的文字区域和结构
- 扫描件:结合图像预处理(去噪、纠偏)和 OCR 提高识别准确率
- 网页:HTML 清洗 + 正文提取,去除广告和导航等噪音
模板化智能分块
RAGFlow 提供基于模板(Template)的可解释分块策略,每种文档类型都有专用的分块方法:
| 分块方法 | 适用文档 | 说明 |
|---|---|---|
naive |
通用文本 | 基于 token 数 + 分隔符的通用分块 |
manual |
所有类型 | 手动指定分块边界 |
qa |
FAQ 文档 | 基于 Q&A 对的分块 |
table |
Excel/表格 PDF | 按表格行/列结构分块 |
paper |
学术论文 | 识别 Abstract/Section/Reference 结构 |
book |
书籍 | 按章节层级分块 |
laws |
法律文档 | 按条款编号分块 |
presentation |
PPT | 按幻灯片分块 |
picture |
图片 | 基于视觉区域的分块 |
knowledge_graph |
知识图谱 | 实体-关系抽取式分块 |
email |
邮件 | 按邮件线程分块 |
每种分块方法都有独立的 parser_config 配置,如 naive 方法支持 RAPTOR(递归抽象式摘要树)增强长文档理解。
多路召回与融合重排序
RAGFlow 的检索管道支持多路召回(Multiple Recall)和融合重排序(Fused Re-ranking):
- 多路召回:同时从向量语义检索、关键词 BM25 检索、知识图谱检索等多条路径获取候选文档块
- 融合排序:通过加权融合或学习排序(Learning to Rank)对多路结果进行综合排序
- 可溯源引用:每个生成的答案都附带文档引用链接,支持人工干预时的可视化溯源
Agent 与 MCP 支持
v0.26.x 起,RAGFlow 引入了 Agentic 工作流支持。用户可通过 Web UI 构建多步骤 Agent 流程,Agent 可以:
- 执行 RAG 检索
- 调用外部工具(通过 MCP 协议)
- 进行条件判断和循环
- 与用户进行多轮对话
MCP 支持意味着 RAGFlow Agent 可以连接任何实现了 MCP 协议的工具服务器,极大地扩展了其能力边界。
异构数据源集成
RAGFlow 支持从多种数据源直接同步文档,包括但不限于:S3 对象存储、本地文件系统、Web 网页爬取、数据库连接器、SaaS 应用 API(如 Notion、Confluence)等。数据源的同步支持定时调度和增量更新。
适用场景
企业文档智能问答
对于积累了大量 PDF 合同、规章制度、产品手册和技术文档的企业,RAGFlow 的 deepdoc 引擎能够高质量地解析这些”脏文档”。相比其他 RAG 方案在复杂文档上的高失败率,RAGFlow 在表格、图片文字和多栏排版方面的解析能力是决定性的优势。
法律与金融合规文档处理
法律条款、合同文本、招股说明书等结构化程度高但格式复杂的文档,RAGFlow 的 laws 和 book 分块方法能够按条款/章节准确切分,保证检索结果的法律完整性。可溯源引用功能对合规审计至关重要。
学术研究与论文检索
学术 PDF 的双栏排版、图表混排、参考文献格式让常规 PDF 解析器束手无策。RAGFlow 的 paper 分块方法专为学术文档优化,能够识别 Abstract、Introduction、Methodology、Conclusion 等结构,RAPTOR 摘要树可对长论文进行分层总结。
多语言客服知识库
RAGFlow 支持中文、英文和更多语言的文档处理,其分块策略对中文分词特征(如无空格分隔)做了专门处理。BGE 系列中文 Embedding 模型的内置集成使得中文语义检索的精度得到了保证。
企业级 RAG + Agent 工作流
对于需要将检索与自动化决策相结合的复杂业务(如自动合同审查、智能招投标分析),RAGFlow 的 Agentic 工作流可以在 RAG 检索的基础上加入规则引擎、外部 API 调用和人工审批节点,构建完整的业务自动化流程。
快速上手
环境要求
- Docker 与 Docker Compose(推荐)
- CPU >= 4 核,RAM >= 16GB(deepdoc OCR 需要较多内存)
- (可选)NVIDIA GPU(加速 OCR 和 Embedding)
安装
git clone https://github.com/infiniflow/ragflow.git |
启动后访问 http://localhost:80,完成初始配置。
LLM 配置
RAGFlow 启动后需要配置 LLM 工厂。编辑 docker/service_conf.yaml(或通过 Web UI 设置):
user_default_llm: |
通过 Web UI 构建 RAG 流程
- 创建知识库:在 Web UI 中选择 “Knowledge Base” -> “Create”,指定名称和 Embedding 模型(推荐
BAAI/bge-large-zh-v1.5) - 上传文档:拖拽或选择文件上传,支持 PDF/Word/Excel/PPT/图片/Markdown 等格式
- 配置解析:为文档选择合适的分块方法(如 PDF 选择
book,Excel 选择table) - 开始解析:点击 “Start Parsing”,等待 deepdoc 引擎处理完成
- 创建 Chat 助手:在 “Chat” 模块中创建助手,关联知识库,配置 Prompt 模板和 LLM 模型
- 开始问答:在 Chat 界面输入问题,获得带引用来源的答案
Python SDK
pip install ragflow-sdk |
from ragflow_sdk import RAGFlow |
源码架构
RAGFlow 采用 Python + Go + TypeScript 混合架构:
ragflow/ |
- **deepdoc/**:RAGFlow 的核心技术壁垒。对不同文档格式实现专用解析器,PDF 解析器整合了 OCR(PaddleOCR/Tesseract)、表格检测(TableBank/定制模型)和布局分析算法,输出的结构化 JSON 保留了原文档的段落层级关系。
- **rag/**:RAG 管道核心,管理从文档上传到分块、向量化、检索、重排序的完整流程。
nlp/子模块提供分词、命名实体识别等中文文本处理基础能力。 - **agent/**:v0.26 引入的 Agent 引擎,基于 DAG 画布模型构建。Agent 组件库提供 RAG 检索、LLM 生成、HTTP 请求、代码执行等基本操作单元,用户通过 Web UI 拖拽组合这些组件来构建工作流。
- **mcp/**:MCP 协议客户端实现,允许 RAGFlow Agent 连接外部的 MCP Server(如文件系统服务、数据库服务、API 网关等)。
- **web/**:React + TypeScript 前端,提供知识库管理、文档上传、Chat 界面和 Agent 画布四大核心功能模块。
- **sdk/python/**:独立的 Python SDK(PyPI 包名
ragflow-sdk),导入使用ragflow_sdk。覆盖知识库、文档、Chat、Session、Agent 五大资源类型的 CRUD 操作。
实操 Demo
以下通过 Python SDK 构建一个完整的简历筛选 RAG 系统:
""" |
同类对比
| 特性 | RAGFlow | LangChain + VectorDB | LlamaIndex | Dify |
|---|---|---|---|---|
| Stars | 82,800+ | 139,000+ | 50,100+ | 75,000+ |
| 定位 | 端到端 RAG 引擎 | Agent 开发框架 | 文档 RAG 框架 | LLM 应用平台 |
| 文档解析 | deepdoc 深度解析引擎 | 依赖第三方 Loader | LlamaParse(专业) | 基础 Loader |
| 智能分块 | 11 种模板化分块 | RecursiveCharacter | Sentence/Token/Node | 可配置 |
| 内置向量数据库 | Elasticsearch / Infinity | 需自行集成 | 需自行集成 | 需自行集成 |
| Agent 工作流 | Web 画布 + MCP | LangGraph 图编排 | Workflows 1.0 | 可视化画布 |
| API | REST + Python SDK | Python/JS SDK | Python/TS SDK | REST API |
| Web UI | 完整管理后台 | LangSmith(可观测) | LlamaCloud | 完整管理后台 |
| 多模态文档 | PDF/Word/Excel/图片集成 OCR | 依赖 Loader | LlamaParse | 依赖 Loader |
| 私有化部署 | Docker / K8s | pip install | pip install | Docker Compose |
| 学习曲线 | 中等 | 中高 | 中等 | 低 |
分析:RAGFlow 区别于其他方案的独特价值在于”文档理解”深度。LangChain 和 LlamaIndex 是框架,需要开发者自己组装配件;RAGFlow 是开箱即用的完整平台,部署后通过 Web UI 即可操作。对于那些文档质量参差不齐、包含大量扫描件和复杂表格的企业场景,RAGFlow 的 deepdoc 引擎是决定性的优势。而 Dify 虽然也提供 Web UI 和可视化工作流,但在文档解析深度和 RAG 管道精细度上不及 RAGFlow。如果你需要一个”上传文档就能问答”的开源 RAG 平台,RAGFlow 是目前最成熟的选择。如果你需要最大灵活性的定制 RAG 流程,LangChain 配合 Chroma/Milvus 提供更大的自由度。
参考资源
- GitHub 仓库: https://github.com/infiniflow/ragflow
- 官方文档: https://ragflow.io/docs/dev/
- Python SDK 参考: https://ragflow.io/docs/dev/python_api_reference
- Docker 部署指南: https://ragflow.io/docs/dev/quickstart
- Demo 站点: https://demo.ragflow.io
- 社区 Discord: https://discord.gg/infiniflow


