ViDoRAG
基于多智能体Actor-Critic架构的视觉文档RAG框架,在EMNLP 2025发表,刷新ViD
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于多智能体Actor-Critic架构的视觉文档RAG框架,在EMNLP 2025发表,刷新ViD
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:ViDoSeek 数据集收录了多种类型的视觉丰富文档,覆盖学术论文、专利、财务报告等场景。
想象你是一个科研人员,手里有1000份PDF文档,其中某一份第23页的脚注里藏着一个关键实验参数——你该如何快速找到它?传统检索增强生成(RAG)方案在面对视觉丰富文档时显得力不从心:表格里的合并单元格、流程图中的因果关系、扫描件里的手写标注……这些非结构化视觉信息往往才是答案的关键所在。 这就是阿里巴巴自然语言处理团队(Alibaba-NLP)推出 ViDoRAG 想要解决的核心问题——在海量视觉丰富文档中进行多模态检索与推理,最终给出有据可查的精准答案。该项目在 EMNLP 2025 发表,并在 ViDoSeek 基准上取得了超过基线方法 10% 以上的性能提升。
视觉文档理解(Visual Document Understanding)是文档智能领域公认的最难题型之一。与普通图文交错文档不同,视觉丰富文档(Visually Rich Documents)将文本、图像、版式、表格融合为有机整体:一份年报的折线图需要结合图例文字才能理解含义,一篇论文的实验对比表格需要结合章节标题才能判断哪个数据更值得关注。 现有方案主要分为两类:单模态检索(纯文本向量检索或纯视觉向量检索)和简单融合(将视觉信息强行转为文本描述)。前者丢失了大量版式与视觉信号,后者则存在严重的信息压缩损失。ViDoRAG 的核心贡献在于引入Actor-Critic 多智能体框架,让检索与生成形成动态迭代闭环。
ViDoRAG 的技术架构围绕一个由三个角色组成的迭代推理循环展开:Seeker(探索者)、Inspector(审查员)和Synthesizer(综合者)。整个流程模拟了人类面对复杂文档时的思维过程——先快速定位相关区域,再判断信息是否充分,最后综合输出答案。
Seeker 接收用户的原始查询和一批候选图像,其任务是识别出与问题最相关的图像子集。它使用精心设计的 seeker_prompt,引导视觉语言模型(VLM)从多个维度评估图像与问题的关联度,最终返回一个 JSON 结构——包含推理过程、最佳图像编号列表,以及相关内容的文字摘要。核心逻辑通过 vidorag_agents.py 中的 Seeker.run() 方法实现,最多重试3次以确保输出格式正确。
Inspector 是整个框架中最关键的角色。它评估当前已收集的图像是否足以回答问题。如果答案已充分,则进入 Synthesizer 阶段;如果发现信息缺口,则返回给 Seeker 提供「反馈」——这正是迭代的核心所在。Inspector 通过 inspector_prompt 引导 VLM 给出结构化的判断:是否可回答、当前最优答案、缺失的信息点,以及需要继续检索的图像编号。
Synthesizer 接收 Inspector 确认后的图像子集和问题,结合 Inspector 提供的候选答案,生成最终的结构化回答。它输出的 JSON 包含推理过程和最终答案,这是面向用户的最终输出。如果推理过程中发现格式错误,会自动重试。
除了多智能体框架,ViDoRAG 还创新性地引入了基于高斯混合模型(GMM)的动态混合检索策略。在 search_engine.py 中,gmm() 函数对候选图像的检索得分进行高斯混合聚类,自动识别出得分分布的不同层次,从而动态决定最优召回数量。相比固定 top-K 检索,这种方法在噪声环境下更加鲁棒。检索层还支持视觉模型(如 ColQwen2)和文本模型(如 BAAI/bge-m3)的混合使用。
ViDoRAG 的工程实现大量依赖成熟的开源生态:
ViDoRAG 并非面向终端用户的开箱即用工具,而是为研究人员提供的基准框架。其主要使用流程分为四步:
ViDoRAG 目前最明显的局限在于计算资源需求高。端到端流程需要加载至少两个大模型(ColQwen2 约 7B + Qwen2.5-VL-7B),在消费级 GPU 上几乎无法运行。此外,作为研究代码,缺少生产级部署所需的一切:没有 Docker 化、没有 Web 界面、没有流式输出、没有 API 封装。 另一个值得注意的问题是多轮迭代的开销。在复杂多跳问题场景下,Seeker-Inspector 循环可能运行多轮,每次都涉及一次完整的 VLM 调用——这在真实生产环境中会带来显著的延迟和成本压力。
ViDoRAG 的意义不仅在于刷新了基准测试分数,更在于它提出了一套可复现、可扩展的多模态 RAG 研究框架。其发布的 ViDoSeek 数据集包含了多样化来源的视觉文档(学术论文、专利、财务报告等),为社区提供了统一的评估基准。 从技术趋势看,多模态 RAG 正从纯文本索引向原生多模态理解演进。ViDoRAG 代表了当前学术界在该方向的前沿探索——Actor-Critic 架构的引入让机器不再盲目地做向量最近邻搜索,而是具备了边读边想的初步能力。这一思路可能会对未来的企业文档智能、合同分析、医学影像报告等领域产生深远影响。 开源地址:https://github.com/Alibaba-NLP/ViDoRAG 论文:https://arxiv.org/abs/2502.18017