犀牛鸟 2026 研究笔记 estelledc.github.io

Ch13: 多模态 RAG——表格、图片与 OCR 管线

Part 6: 进阶专题 前置章节:Ch05: 文档解析与分块 后续章节:Ch14: 动手实验室 返回目录:README


结论先行:多模态 RAG 的瓶颈不在「能不能用 GPT-4V 看图」,而在 摄入阶段——表格是否保留行列结构、扫描件 OCR 是否准确、图片说明是否与正文 chunk 绑定。RAGFlow DeepDoc 与 WeKnora IMA 在 Level 2 结构理解上领先;Level 3「语义理解整页」仍属前沿,成本高到难以作为默认管线。

一、多模态失败的三种典型形态

形态 用户看到的问题 根因
表格被撕碎 「营收是多少」答错或答空 按字符切 chunk,表头与数据分离
图片文字丢失 扫描合同、架构图无法问答 只抽文本层,忽略 OCR
公式变乱码 数学/化学式检索不到 PDF 内嵌字体映射失败

日常类比:把年报 PDF 当「一整块豆腐」切——刀法再精细,表格和配图的信息已经在切之前就被压扁了。多模态 RAG 要先 还原文档的视觉结构,再谈检索。

解析深度分级(与 Ch05 一致):


二、表格:结构化 chunk 策略

错误做法:500 字滑动窗口切 PDF → 「2024 年营收」在 chunk A,「23.5 亿元」在 chunk B。

正确做法

  1. 版面分析识别表格区域
  2. 表格结构恢复(TSR)→ HTML <table> 或 JSON 行列
  3. 整表作为一个 chunk(或「表头 chunk + 按行 chunk」并保留 table_id 元数据)
  4. 检索时带 content_type: table 过滤或加权

RAGFlow DeepDoc 五步管线(摘要):

PDF 页图 → Layout 检测 → 文本/OCR → 表格 TSR → 公式 LaTeX → 结构化 chunk

WeKnora IMA 侧重中文排版与后续 PMI 实体 抽取——表格单元格内的专有名词会进入图谱。竞赛常见 issue:Excel IMAGE 函数过滤HTML 表格转 Markdown(见 WeKnora 实战 case-1785)。


三、图片与 OCR 管线

阶段 技术 失败点
预处理 去噪、倾斜校正、二值化 低质量扫描件
检测 DBNet 等文字区域框 密集小字、竖排
识别 CRNN / SVTR 手写、印章遮挡
后处理 拼写纠错、行排序 多栏排版顺序错

chunk 绑定规则:图片 OCR 文本应与 同一页的 caption / 前后段落 共享 page_id,检索时一并召回——否则用户问「图 3 里的架构」时只有 OCR 碎片没有说明句。


四、多模态检索的三种架构

架构 做法 优点 缺点
文本化优先 OCR/表格 → 纯文本 chunk → 常规向量+BM25 与现有栈兼容 丢布局、复杂图信息损失
多向量 文本 embedding + 图片 embedding(CLIP 等) 可「以图搜图」 需多模态向量库、对齐难
VL 按需 检索到相关页后,把页图送 Qwen-VL/GPT-4V 理解力强 延迟与成本极高

当前五个开源 RAG 平台 生产默认 以「文本化优先」为主;多向量与 VL 按需多出现在实验分支或企业定制。


五、五大平台多模态能力速查

能力 RAGFlow WeKnora Dify FastGPT AnythingLLM
扫描 PDF OCR 插件 基础
表格结构恢复 极深 基础 基础
公式 LaTeX 部分
图片语义检索 实验 实验 插件

选型:表格/扫描件占比高 → 优先 RAGFlow 解析或 WeKnora IMA;简单 Markdown/Word → 任意平台差异不大。


六、评估多模态 RAG 的专用指标

通用 RAGAS 四维之外,建议补充:

指标 含义 如何测
表格 QA 准确率 答案是否来自正确单元格 人工标注 50 个表格问答对
OCR CER 字符错误率 与 ground truth 编辑距离
结构保留率 chunk 是否含完整 <table> 规则检测 + 抽样
多模态 faithfulness VL 生成是否胡编图中细节 图文对照人工评

WeKnora 竞赛 L2 方向:为中文表格 QA 建小型 benchmark 并提交 RAGAS 脚本——见 评估方法论 §6.3。


章末自检


延伸阅读