RAGFlow:把企业文档的 RAG 做到看得懂版面
RAGFlow
深度文档理解驱动的 RAG 引擎:解析版面、切块带引用,回答能指到原文哪一行
项目速览
项目 内容 仓库 infiniflow/ragflow 语言 Python / Go 协议 Apache-2.0 形态 自托管 Web 平台 + API 特色 版面感知切块、可视化溯源
它想解决什么问题
多数 RAG 效果差的根因不在模型,而在切块:把 PDF 按固定字数切开,标题与正文混在一起,表格被拦腰截断,检索自然召回一堆无关片段。
RAGFlow 把力气花在前端解析上:先理解版面结构(标题层级、表格、图片、页眉页脚),再按语义单元切块,然后才谈检索。
核心机制拆解
1. 版面感知解析。 识别文档结构后再切分,表格与列表尽量保持完整,减少”切碎了”的语义损失。
2. 可视化溯源。 回答里的引用能定位到原文的具体片段,界面上直接高亮——这对核对事实至关重要。
3. 可干预的检索。 支持多种召回与重排策略,也允许人工查看、调整召回结果,而不是一个黑盒。
4. 多模态与模板。 支持图片理解与多种文档模板,合同、论文、手册各有适配。
安装与上手
1 | git clone https://github.com/infiniflow/ragflow.git |
打开 Web 界面建知识库、上传文档,先看解析结果对不对——解析错了,后面调什么参数都白费。
点评
亮点是把 RAG 的短板补在了正确的位置:文档解析质量决定上限,而它愿意在这上面投入。可视化溯源让”信不信这个答案”变成可验证的动作,而不是凭感觉。
局限:解析重、资源吃得多,深度文档理解模型对 GPU 有要求,纯 CPU 环境体验会明显打折;文档格式越怪解析越慢,批量导入要排队;配置项多,默认参数未必适合你的语料;相比轻量方案,整套部署更”重”。
适合人群:有大量 PDF、扫描件、复杂排版文档要处理的企业;对答案可追溯性有硬要求的场景(法务、审计、医疗);以及愿意为解析质量付出更多算力的团队。
评论