RAG Playground

核心原则

PDF 必须优先使用版面感知解析,因为多栏、页眉页脚、脚注和阅读顺序会破坏朴素文本抽取。
保留文档树结构:标题、章节、页码、表格单元格、图片说明、URL、更新时间和权限范围都应随 chunk 进入索引。
表格、截图和扫描件要走 OCR、表格识别或多模态描述,不能直接丢弃非正文证据。
解析输出要带版本号,方便定位一次质量下降到底来自解析规则、文档变更还是模型变更。
先建立解析质量抽检集,至少覆盖合同、政策、报告、FAQ 和工单五类文档。

方法对比

方法延迟成本最适合
纯文本抽取Markdown、日志、结构简单的网页
版面感知解析PDF、合同、研究报告
OCR + 视觉解析扫描件、图表、截图
Schema 优先解析报表、工单、CRM 导出

大厂与框架实践

LlamaIndex 的 reader 与 node parser 会在索引前保存 page_label、source、section 等元数据,便于引用回溯。

LangChain loader 通常把来源路径、页码和自定义 metadata 传给 splitter,避免切分后丢失来源。

百度千帆和阿里通义知识库强调 Office/PDF 解析,因为中文企业文档常混合表格、图片和盖章扫描页。

财务报表问答需要把表头复制到每个行 chunk,否则“15%”这类数字会失去指标含义。

客服手册解析应保留版本日期,避免旧政策被召回后生成过期答案。

关键论文与参考

LayoutLMv3,Huang 等,2022
Nougat,Blecher 等,2023
DocVQA,Mathew 等,2021
Donut,Kim 等,2022
Pix2Struct,Lee 等,2023

深度讲解

解析质量可以用字段级准确率和引用可回溯率衡量。一个实用抽检公式是 parse_score = 0.35 * reading_order + 0.25 * table_header + 0.20 * citation_anchor + 0.20 * acl_metadata。若 100 页政策文档中有 8 页表格,表头保留率从 70% 提升到 95%,表格问答通常会比只调提示词更稳定。工程上建议保存 parser_version,例如 parser=v3.2-layout,把它写入每个 chunk 的 metadata,出现答案回归时可以按版本聚合错误。

最佳实践

为每类文档维护 20-50 个解析金样本。
表格 chunk 必须携带表名、列名、行 ID 和页码。
解析失败不要静默入库,应进入人工修复队列。