1. MLDocRAG:多模态长文档理解的新范式
在科研论文、技术文档和商业报告等专业场景中,我们经常需要处理包含大量文本、图表和表格的长篇多模态文档。传统的信息检索方法往往面临两个核心难题:首先是跨模态的语义鸿沟——如何让机器像人类一样理解文字描述与对应图表的关系;其次是长距离依赖问题——当关键证据分散在文档的不同页面时,如何建立有效的关联。
最近由Yongyue Zhang和Yaxiong Wu提出的MLDocRAG框架,通过创新的"多模态块-查询图"(Multimodal Chunk-Query Graph, MCQG)结构,为解决这些问题提供了新思路。这个方案最吸引我的地方在于它将复杂的多模态文档转化为以查询为中心的语义网络,使得机器能够像专家一样进行跨页、跨模态的推理。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心架构解析
2.1 整体框架设计
MLDocRAG的工作流程分为两个关键阶段:
- 离线构建阶段:将原始文档解析为多模态块,为每个块生成代表性的查询-答案对,构建MCQG图结构
- 在线查询阶段:用户提问时,在图结构中进行多跳检索,聚合相关证据后生成最终答案
这种设计巧妙地解决了传统RAG的三个痛点:
- 跨模态信息割裂(文本与视觉内容分离)
- 长距离依赖捕捉困难
- 细粒度证据定位不准
2.2 多模态文档解析
文档解析是构建优质MCQG的基础。实践中需要注意:
-
文本处理:
- 使用滑动窗口策略(1200token窗口,100token重叠)
- 保留数学公式的Markdown表示
- 对技术文档特别处理代码块和参考文献
-
视觉元素处理:
- 提取图表时需保留标题和上下文说明
- 对复杂表格进行OCR后结构化处理
- 使用CLIP分类器过滤装饰性图片
提示:在实际部署中,我们发现使用MinerU解析器配合自定义后处理规则,可以达到95%以上的结构识别准确率。特别要注意处理跨页表格和浮动体元素。
2.3 MCQG图构建细节
图的构建过程包含几个关键技术点:
- 查询生成(MDoc2Query):
python复制def generate_queries(chunk, page_image, lvlm):
