夜雨聆风学习资料网

ARTICLE · 1094543

RAG 企业级落地 · 第 02 讲|文档解析:信息保全

RAG 企业级落地 · 第 02 讲|文档解析:信息保全
一、引言
上一讲笔者讲述了整个系列的骨架:RAG 要回答三个问题——从哪里检索、如何检索、检索后如何使用。
本讲开始进入第一个问题:"从哪里检索"的第一步,文档解析。
RAG的本质是结合外部数据源/知识库,帮助大模型回答问题。所以这个外部知识要能够起到回答问题的作用,所以笔者首先需要量化一些标准,什么是好的外部知识?标准如下:
序号
特性
核心要求
1
事实正确性
知识本身没有事实错误,与权威来源一致
2
目标完整性
对于目标问题所需的关键信息完整
3
时效性
动态知识有更新时间,失效期,失效条件
4
一致性
知识彼此之间不能有冲突
5
可检索性
知识块合理且与常见问题强相关(别名,同义词等),元数据完善。
6
安全合规
无隐私,版权,越权,敏感违规行为
7
可维护性
可追溯,知识源头可管理
8
冗余和噪声控制
知识内部不应有过多的冗余信息和噪声
9
检索效率
知识的构建应该考虑到检索成本和效率
实际的企业落地中,最后评测的时候,首要观察的现象可能是回答的不正确/不完整。所以第一个关键是RAG服务每个环节都是可观测的,这点具体落地的时候,绝大多数都可以做到。然后就可以具体定位到是哪个环节出了问题。
但是随之而来的,问题定位到以后,如何归因和修正?这个就要求开发人员对于RAG架构的实际理解。假设实际是检索环节的问题,定位到文档召回不完全,那么此时就要分析,是提取就不全,还是切分时候分开了,还是召回时候无法找回多块等等。
因此再企业级RAG中,第一步就要做好。所以这一讲不讲"怎么调检索",讲一个更朴素但更致命的问题:文档进知识库之前,信息丢了多少?
本讲会覆盖三条技术路线:基于代码逻辑和规则的传统方法、基于管线(pipeline)的模型方法、基于端到端大模型的解析方法;会深入 RAGFlow DeepDoc 的解析范式,对比 PaddleOCR-VL、MinerU、HunyuanOCR 的思路差异;最后讲实际落地中最常踩的坑——跨页表格、水印、页眉页脚、阅读顺序——以及各自的解法。
二、文档解析的本质:信息保全
用户上传的知识库,往往包含各种各样的文档形式:PDF、Word、PPT、Excel、扫描件、图片、甚至视频。文档解析是 RAG 系统要处理的第一步,文档解析的目的就是信息保全,具体可以归结为两个方面:
1.保留内容信息。
PDF 文件提取的时候,文字、图片、表格甚至目录、页脚,能不能完整地提取下来,并且确定它们属于哪部分?视频文件,画面、字幕、声音甚至语调这些信息,能不能完整地提取下来?
内容信息的丢失是显性的:一个表格少了三行,一条法条少了,答案就错了。
2.保留排版信息。
很多文档中,排版信息是非常重要的一部分:跨页表格的排版、标题的层级、甚至加粗和标红这些强调标记,能不能完整保留?
排版信息的丢失是隐性的,但危害更大。举两个例子:一份产品手册里"警告:该操作不可逆"被加粗标红,解析成纯文本后这层强调没了,大模型回答时就把警告和普通说明一视同仁;一份论文的标题层级丢了,"3.2 实验结果"这段文字就不知道自己属于"第三章 方法",检索命中后上下文完全接不上。
而这两个难点,对所有文档、所有领域并不存在一个通用解法。 往往是某个领域、某种格式的文档,有一个最优的解析方案:财报 PDF 的最优解和扫描版合同的最优解不是一回事,代码仓库的最优解和 PPT 的最优解也不是一回事。
因此文档解析对 RAG 系统的重要性,本质就是文档信息的保全度——解析方案好不好,只有一个标准:下游检索和生成需要的信息,保住了多少。
这也引出了本讲最重要的选型观念:方法的选用只有最合适的,没有最好的。 选型之前先确定业务:用户的大部分问题,回答时依托的是什么?如果业务以信息为主、不太需要格式(比如新闻语料问答),那格式保全就可以放弃,用最便宜的方案;如果业务强依赖表格和层级(比如财报分析、制度文件问答),那解析阶段就要为格式付出成本。这个判断要在选解析器之前做,尽量不要上线之后用 bad case 倒逼。
三、文档解析技术路线
1.传统方法:规则与代码逻辑
传统方法的核心思路是:不依赖大模型的理解能力,用代码逻辑、格式规则和轻量专用模型,把文档结构"拆"出来。 这条路线到今天依然是企业落地的主力,因为它便宜、快、可控。
(1) 文本层直接提取
矢量 PDF(电子生成的 PDF)内部是有文本层的:每个字符的编码和坐标都存在文件里。PyMuPDF(fitz)、pdfplumber、PyPDF2 这类库直接读取文本层,按坐标还原文字流。
  • 优点:速度极快(每秒数百页)、文字零识别错误、零模型成本。
  • 缺点:对扫描版 PDF 完全无效(里面只有图片);阅读顺序依赖坐标启发式,双栏文档容易串栏;表格只能拿到一堆带坐标的文本碎片,结构后处理困难。
Word、Excel、PPT 同理:python-docx、openpyxl、python-pptx 直接读文档对象模型,结构天然是完整的。所以落地过程中:能拿到原生格式(docx/xlsx/pptx/html)就不要接 PDF,原生格式的解析保真度高于任何 PDF 方案。
(2)传统 OCR:检测 + 识别两阶段
扫描版文档没有文本层,只能通过文本识别。传统 OCR 是两阶段管线:文本检测(det,找出文字行的框)+ 文本识别(rec,把框里的图变成字符串),例如 PaddleOCR 的 det/rec 模型。
  • 优点:模型小、推理快、私有化部署成熟,文字识别精度在清晰扫描件上已经很高。
  • 缺点:只能识别"哪里有什么字",无法确定结构信息。拿到的是一堆文本行和坐标,标题、段落、表格、页眉的区分依赖后处理规则。
(3)规则 + 轻量模型的工程范式:RAGFlow-DeepDoc
把"传统方法"做到工程化落地的案例是 RAGFlow 的 DeepDoc。它的设计非常值得拆解,因为它不用大模型,就很好的处理了版面结构。这依赖于三个专用组件:
  • OCR:在渲染后的页面图上检测文本框并识别字符,输出 bbox、文本、置信度。解决扫描版、截图、拍照件的文字获取。
  • 版面识别(Layout Recognition):把每一页切成语义区域——正文、标题、图、表格、页眉、页脚、参考文献、公式等十来个类别。这一步直接服务于两个目标:恢复阅读顺序,以及把页眉页脚这类噪声区域剔除掉。
  • 表格结构识别(TSR, Table Structure Recognition):在检测到的表格区域上识别行、列、表头、跨行跨列单元格,把表格重建成结构清晰的文本。
在这三个组件之上,RAGFlow 做了笔者认为传统路线里最值得借鉴的一层设计:14 种解析模板(chunk method),把"解析策略 + 切分策略"按文档类型绑定:

模板

解析与切分行为

适用文档

naive / general

通用切分,分隔符 + token 上限,DeepDoc 提供结构化区域

混合/通用文档

paper

按摘要、章节、参考文献的学术结构切

论文

book

利用章节目录与标题层级切

书籍、长报告

laws

按编、章、条、款的编号结构切

法律法规、合同

manual

按编号/嵌套标题切

产品手册、SOP

presentation

每页幻灯片一个 chunk,附缩略图上下文

PPT

table

行作记录、表头作字段名

Excel、CSV

qa

保持问答对完整,问题作可检索关键词

FAQ、客服知识库

resume

字段抽取与归一化,而非简单切分

简历

picture

OCR 或视觉模型描述图片内容

图片

one

整篇文档作为一个 chunk

短文档、需全局上下文

email / audio / tag

邮件头正文附件分离 / ASR 转写后切分 / 标签库

对应专域

这套设计的本质思想是:不追求一个通用解析器,而是承认"某类文档有某类文档的最优解",把领域知识显式编码成模板。 法律文档的编号结构、PPT 的页边界、Excel 的行列语义,都是先验知识,规则比模型便宜且稳定得多。
  • 优点:成本极低、速度快、每一步可解释可调试、模板即领域先验。
  • 缺点:规则覆盖不到的版式就失效——非标扫描件、复杂混排、手写体,传统路线的保全度断崖式下跌;模板需要人工选择,选错模板效果全错。
2.模型方法:从管线到端到端
传统路线的天花板在于"结构理解靠规则"。模型方法则是把结构理解交给模型,分两条路线:管线式(pipeline)和 端到端式(end-to-end)。
(1)管线式:版面模型 + 专家模型分工
思路:先用一个版面分析模型把页面切成区域,再把每个区域交给对应的专家模型(OCR、表格识别、公式识别),最后按阅读顺序拼装成 Markdown。
MinerU / PDF-Extract-Kit(上海 AI 实验室)是这条路线的代表:DocLayout-YOLO 做版面检测,PaddleOCR 做文字识别,UniMERNet 做公式转 LaTeX,再加表格结构识别模型,最终输出大模型可直接消费的结构化 Markdown。它在复杂 PDF(影印版、多栏、公式密集)上的表现是开源方案里第一梯队。
PaddleOCR-VL(百度,2025)是一个有意思的混合形态:PP-DocLayout 负责版面检测(还是管线思路),但区域识别换成了一个 0.9B 的多模态视觉语言模型 PaddleOCR-VL,由它统一完成文字、表格、公式、图表的识别。发布时在 OmniDocBench 等文档解析基准上登顶,后续的 1.5 版本继续刷新。它的意义在于:用一个小 VLM 替换掉管线里的一堆专家模型,既保留了管线的可控性,又拿到了 VLM 的泛化能力。
  • 优点:每个环节可替换、可单独评测、可定位错误(表格错了换表格模型,不用动全局);区域级任务并行,吞吐高。
  • 缺点:误差级联——版面检测错一个框,后面的识别和拼装全跟着错;组件多,工程维护成本高。
(2)端到端式:一个模型从页面图直接到结构化文本
思路:整页图像进、Markdown/结构化文本出,中间没有显式管线。代表工作:GOT-OCR2.0(2024,提出统一 OCR 范式)、HunyuanOCR(腾讯,2025,1B 参数的端到端 OCR 大模型,多任务 SOTA)、DeepSeek-OCR、dots.ocr、olmOCR。
  • 优点:管线极简,一个模型维护所有能力;对区域间的语义关系(比如"这个表是上面那段话的实验结果")有天然的全页理解;新版式泛化好,不需要为每种版式写规则。
  • 缺点:黑盒——错了不知道错在哪,没法只修一个环节;整页推理延迟高于区域级管线;偶尔会出现幻觉,解析出原文没有的内容,对保全度要求极高的场景(合同、票据)需要额外校验。
(3)两条路线怎么选

维度

管线式(MinerU / PaddleOCR-VL)

端到端式(HunyuanOCR / GOT-OCR2.0)

可控性

高,环节可替换可调试

低,黑盒

错误定位

容易,按环节归因

困难

吞吐

高,区域并行

中,整页推理

新版式泛化

中,依赖版面模型训练分布

强

工程复杂度

高,多组件

低,单模型

典型适用

企业生产、需要持续调优

版式杂、迭代快、团队小

笔者观点:2026 年企业落地的主流选择仍是管线式(或 PaddleOCR-VL 这种"管线 + 小 VLM"的混合态),原因不是精度,而是可运维性——生产系统的解析错误必须能归因、能单独修复。端到端式适合版式长尾、没有专职算法团队维护的场景。两条路线也在融合:管线里越来越多环节被 VLM 接管,端到端模型也开始输出中间结构供调试。
四、企业落地的常见问题
上述的常见问题,解法众多,并且随着落地,遇到各种各样的问题会更多。这里给出常见的思路:
  1. 根据业务判断场景的并发和成本:
    1. 并发不高,成本可以支持:首要考虑管线文档解析大模型
    2. 并发高或成本要很低:根据特定的领域,开发尽可能泛化的规则,配合传统OCR模型。
    3. 无论使用哪一种,最后一定要保留兜底的手段,规则硬兜底。
  2. 基于大模型的方法也无法泛化,且规则无法识别:
    1. 首先考虑传统小模型,比如经典的模糊问题,使用超分模型可以解决,
    2. 依然添加规则兜底。
  3. 文档解析管线搭建后,结合服务推理加速:
    1. 首要进行服务层优化:动态批处理,异步,并发等手段,根据具体场景,寻求吞吐和并发的平衡点。
    2. 其次进行模型层优化:对于传统模型,一般使用onnx-runtime(注意显存管理);对于基于大模型的管线或者端到端模型,一般vllm这些框架都会有对应的加速优化手段。
    3. 工程建议:每个模型的接口单独做成微服务,最后的管线纯做服务层优化,不考虑模型显存的管理。这样的区分能够实现最方便且效果最好的优化。最后管线的服务也可以轻松进行多实例管理和负载均衡,每个模型接口只需要考虑自己内部的动态批处理和持续批处理即可。传统模型可以使用triton或者Ray框架,生成模型使用vllm或sglang即可。
五、另一条路:不解析或轻解析
最后讲一个最近越来越重要的路线:有些场景,最好的解析是不解析。
1.页面截图 + 视觉检索(Qwen3-vl-embedding 路线)
既然解析的本质是保全度,那保全度最高的方案就是不做有损转换:把 PDF 每页渲染成截图,用 Qwen3-vl-embedding  这类视觉检索模型直接对页面图做 patch 级多向量编码,检索命中后把页面图(或命中区域)交给 VLM 阅读。整个保全度是 100%。代价是多向量存储大、检索链路和文本 RAG 不同构。并且目前的多模态视觉文档检索的正确率和文本检索模型有一定距离,很多时候无法落地应用。
适合版式复杂、格式信息极重要、文档量可控的场景。比如大量的纯设计图纸等

2. grep + 代码领域

代码仓库的最优"解析"往往就是不解:关键词明确(函数名、类名有意义)、大模型对代码领域有完整先验,直接用 grep / 符号索引做关键词检索,配合 agent 按需读文件,效果常常好于把代码切块向量化。

3. 原始视频 / 原始图片保留

视频切分关键帧 + 字幕 ASR 是常规做法,但当画面本身是信息主体(监控、教程演示)时,保留原始片段 + 多模态嵌入直接检索,比转成文字描述的保全度高一个量级。

对于长视频,可以关键帧识别切分处理,或者根据视频类型,决定重点处理语音还是画面。
这三条路线的共同点是:把"解析"推迟到查询时,用模型的在线理解替代离线的有损转换。 成本是查询延迟和 token,换的是零解析损失。业务可以延迟、文档量不大时,可以考虑它们
六、总结:如何选型?
本质上就是,根据业务选择性价比最高的,而不是所有的都要解析出来。文档解析本身也是过滤的一种手段。结合文档格式,信息载体,以及业务问题实际需要的信息量,加上运维成本,总结搭建出合适的文档解析管线。
文档解析是RAG的第一个难点,但是只要结合解析的本质(信息保全)和选型依据(业务需要的信息量)。就可以在海量的文档解析手段中,搭建出最适合当前业务的文档解析管线。

相关学习资料