89,151· 10,480 forks· Go· Apache-2.0开源替代

RAGFlow - 开源企业级 RAG 引擎与 AI Agent 平台

infiniflow/ragflow

融合深度文档解析与 Agent 能力的开源 RAG 引擎,通过 OCR 与结构化解析实现高精度知识提取与可溯源问答

成熟度维护活跃,今日仍有提交,open issues 1807 个但 756 贡献者活跃

项目体检

部署 · Docker Compose 一键部署,依赖 infiniflow/ragflow_deps 镜像预装模型(需首次联网拉取 HuggingFace 资源),默认端口未在配置中明示

成本 · 需外部 LLM API(支持 OpenAI/本地 LLM 代理),依赖 Tika 服务端(已打包)与 NLTK 数据,首次启动需下载 OCR/布局检测模型

技术 · 主要语言 Go(后端),Python(文档解析/深度学习),前端技术栈未在配置中体现,使用 YOLOv8 做目标检测

许可 · Apache-2.0,允许商用且无需开源修改代码,适合企业集成

活跃 · 最新版本 v0.27.0 发布于 8 天前,756 名贡献者,今日仍有代码提交,活跃度极高

解决什么

RAGFlow 针对企业级 RAG 场景中"文档理解不准"和"答案无法溯源"两大痛点。传统 RAG 系统在处理扫描件、复杂表格、多栏布局时常出现分块错误,导致检索结果张冠李戴。RAGFlow 通过深度文档解析(OCR + 布局检测 + 表格结构识别)将非结构化内容转为高质量知识块,并可视化展示分块结果供人工校验,确保"输入质量决定输出质量"。同时提供引用溯源能力,每个回答都能追溯到原始文档片段,减少幻觉。

为何火

8.9 万 stars 的热度源于三点:一是切中企业真实痛点——据 HN 讨论,用户最关心其 OCR 与表格检测能否媲美 AWS/Google 商业方案;二是开源可私有部署,避免数据上云风险;三是融合 Agent 工作流,2025 年 8 月更新支持 MCP 协议与代码执行器,从单纯检索升级为可编排的智能体系统。GitHub Octoverse 将其列为趋势项目,Docker 镜像下载量持续攀升,证明生产环境采用率高。

核心功能

  1. 深度文档解析:基于 YOLOv8 训练的布局检测模型,支持 PDF/DOCX/PPT 中的表格、图片、多栏文本识别,使用 Tika 做格式转换,支持 MinerU 与 Docling 作为可选解析引擎
  2. 模板化分块:提供多种预设模板(按段落/语义/问答对),可视化调整分块策略,避免"切碎"关键信息
  3. 多模态理解:2025 年 3 月起支持用多模态模型(如 GPT-4V)理解文档中的图表,提取视觉信息
  4. Agent 工作流:可编排的 Agentic Pipeline,支持 Python/JS 代码执行、记忆模块、多轮对话,集成 Feishu/Discord/Telegram 等聊天渠道
  5. 数据同步:从 Confluence/Notion/Google Drive/S3 自动同步文档,保持知识库实时更新

安装

Docker 部署(推荐):

git clone https://github.com/infiniflow/ragflow.git
cd ragflow
docker compose up -d

首次启动会自动拉取 infiniflow/ragflow_deps 镜像(约 3GB,含预训练模型),需联网访问 HuggingFace。国内用户若遇网络问题可设置 NEED_MIRROR=1 并配置 Gitee Token。

源码部署:需手动安装 Python 3.10+、Go 环境,下载 NLTK 数据与 Tika JAR 包,参考官方文档配置环境变量。

适合谁

  • 企业知识库团队:需处理大量扫描合同、技术手册、财报等复杂文档
  • 合规敏感行业:金融/医疗等不能将数据传给 OpenAI 的场景,可本地部署 + 接入开源 LLM
  • RAG 研发者:需要可视化调试分块效果、对比不同解析策略的开发者
  • 不适合:纯文本问答(用 LangChain 更轻量)、实时流式场景(Agent 编排有延迟)

社区评价

HN 讨论(230 点赞,53 评论)聚焦在技术透明度与性能验证:

  • 正面:用户认可"深度文档理解"概念,但要求官方提供 Benchmark 数据证明 OCR 效果;有开发者指出其架构与 Fuyu-8B 类似,属于成熟路线
  • 质疑:核心模型托管在 HuggingFace 但未完全开源训练代码,官方回应称使用 PubTable/CDLA 公开数据集 + 私有数据训练,后续会开放;早期版本仅支持 OpenAI API,社区呼吁兼容 Mistral/本地 LLM,现已通过 litellm-proxy 解决
  • 中文社区:Discord 频道有中文讨论,但文档以英文为主,部分配置项(如 Gitee 镜像加速)需查看 Issue

选型对比

维度RAGFlowAWS KendraLangChain
文档解析自研 OCR + 表格检测商业级但黑盒依赖第三方(Unstructured.io)
私有部署✅ Docker 一键❌ 仅云服务✅ 但需自行集成解析
Agent 能力内置工作流编排需手动组合 LangGraph
成本开源免费(需自备 LLM)按查询计费开源但解析插件收费

取舍:RAGFlow 适合需要完整解决方案且能接受 Docker 部署的团队;若只需轻量检索用 LangChain,追求免运维用 Kendra。

已知坑

  1. 首次部署慢:需下载 3GB+ 模型镜像,国内无梯子可能失败,建议提前配置 Docker 代理或使用 Gitee 镜像
  2. LLM 兼容性:虽支持本地 LLM,但需通过 OpenAI 兼容接口(如 Ollama),直接对接 HuggingFace Transformers 需自行改造
  3. 资源占用:OCR 模型即使用 CPU 推理也需 4GB+ 内存,小规模部署建议关闭实时解析改为批处理
  4. 文档更新:部分新功能(如 MinerU 集成)在 README 提及但官方文档滞后,需查看 GitHub Discussions
  5. 表格识别局限:复杂嵌套表格(如三线表)识别率约 80%,官方建议人工校验关键文档

来源: GitHub 仓库 + HN 社区讨论(https://news.ycombinator.com)

安装方式:docker