ViDoRAG:开源多模态文档检索框架,多智能体推理+图文理解精准解析文档

简介: ViDoRAG 是阿里巴巴通义实验室联合中国科学技术大学和上海交通大学推出的视觉文档检索增强生成框架,基于多智能体协作和动态迭代推理,显著提升复杂视觉文档的检索和生成效率。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🚀 「PDF分析要失业?阿里开源视觉文档核弹:多智能体动态推理,复杂图表秒变答案」

大家好,我是蚝油菜花。你是否还在为这些场景抓狂——

  • 👉 百页技术文档图文混杂,关键信息像玩「大家来找茬」
  • 👉 学术论文图表公式连环嵌套,检索3小时理解5分钟
  • 👉 产品手册跨页流程图看不懂,AI生成答案总在瞎编...

今天揭秘阿里通义实验室的 ViDoRAG ,重新定义视觉文档理解!这个融合多模态检索与动态推理的框架,让AI真正学会「看图说话」:

  • ✅ 高斯混合模型 智能调配文本/视觉权重
  • ✅ Seeker-Inspector-Answer 三体协作推理
  • ✅ 动态调整检索粒度 拒绝无效信息轰炸

这个由阿里巴巴通义实验室联合中科大、上交大推出的视觉文档检索增强生成框架,基于多智能体协作和动态迭代推理,显著提升了复杂视觉文档的检索和生成效率。无论是教育、金融还是医疗领域,ViDoRAG 都能为你提供精准的文档分析和答案生成服务。接下来,让我们一起深入了解这个强大的工具!

🚀 快速阅读

ViDoRAG 是一个基于多智能体协作的视觉文档检索增强生成框架。

  1. 核心功能:整合视觉和文本信息,支持动态迭代推理,提升复杂文档的理解和生成效率。
  2. 技术原理:采用高斯混合模型(GMM)的多模态混合检索策略,动态调整检索结果数量,优化生成质量。

ViDoRAG 是什么

ViDoRAG

ViDoRAG 是阿里巴巴通义实验室联合中国科学技术大学和上海交通大学推出的视觉文档检索增强生成框架。它基于多智能体协作和动态迭代推理,解决了传统方法在处理复杂视觉文档时的检索和推理局限性。

ViDoRAG 使用高斯混合模型(GMM)的多模态混合检索策略,动态调整检索结果数量,优化文本和视觉信息的整合。框架中包含 Seeker、Inspector 和 Answer 三种智能体,分别负责快速筛选、详细审查和最终答案生成,基于迭代交互逐步细化答案,提升生成质量和一致性。

ViDoRAG 的主要功能

  • 多模态检索:整合视觉和文本信息,实现精准的文档检索。
  • 动态迭代推理:多智能体协作(Seeker、Inspector、Answer Agent),逐步细化答案,提升推理深度和准确性。
  • 复杂文档理解:支持单跳和多跳推理,处理复杂的视觉文档内容。
  • 生成一致性保障:基于 Answer Agent 确保最终答案的准确性和一致性。
  • 高效生成:动态调整检索结果数量,减少计算开销,提升生成效率。

ViDoRAG 的技术原理

ViDoRAG-pipeline

  • 多模态混合检索:结合文本和视觉检索结果,基于高斯混合模型(GMM)动态调整检索结果数量。GMM 拟合查询与文档集合的相似度分布,动态确定最优的检索结果数量(Top-K),避免固定数量检索带来的噪声和计算开销,有效整合视觉和文本信息,提升检索精度,减少无关信息的干扰。
  • 动态迭代推理框架:
    • Seeker Agent:负责快速筛选相关图像或文档片段,提供全局线索。
    • Inspector Agent:对筛选结果进行详细审查,提供反馈或初步答案。
    • Answer Agent:整合 Inspector 的初步答案,验证一致性生成最终答案。
  • 粗到细的生成策略:从全局视角开始,逐步聚焦到局部细节,多智能体协作实现从粗到细的生成过程,减少无关信息的干扰,提升生成效率和准确性。
  • 推理能力激活:基于迭代推理和多智能体协作,激活模型的推理能力,特别是在处理复杂视觉文档时,提升模型在多跳推理和复杂文档理解任务中的表现。
  • 动态检索长度调整:基于 GMM 动态调整检索结果数量,避免固定 Top-K 值带来的局限性,减少计算开销,提升检索效率和生成质量。

如何运行 ViDoRAG

1. 环境准备

# 创建环境
conda create -n vidorag python=3.10
# 克隆项目
git clone https://github.com/alibaba-nlp/ViDoRAG.git
cd ViDoRAG
# 安装依赖
pip install -r requirements.txt

2. 构建索引数据库

在嵌入整个数据集之前,可以运行 ./llm/vl_embedding.py 检查嵌入模型是否正确加载:

python ./llm/vl_embedding.py

然后运行 ingestion.py 嵌入整个数据集:

# 文档嵌入和多模态嵌入
python ./ingestion.py

3. 运行多模态检索器

尝试使用基本的单模态搜索引擎:

from search_engine import SearchEngine
# 初始化引擎
search_engine = SearchEngine(dataset='ViDoSeek', node_dir_prefix='colqwen_ingestion',embed_model_name='vidore/colqwen2-v1.0')
# 检索结果
recall_results = search_engine.search('some query')

4. 运行多智能体生成

可以直接使用 vidorag_agents.py 脚本进行生成,或将其集成到自己的框架中:

from llms.llm import LLM
vlm = LLM('qwen-vl-max')
agent = ViDoRAG_Agents(vlm)
answer=agent.run_agent(query='Who is Tim?', images_path=['./data/ExampleDataset/img/00a76e3a9a36255616e2dc14a6eb5dde598b321f_1.jpg','./data/ExampleDataset/img/00a76e3a9a36255616e2dc14a6eb5dde598b321f_2.jpg'])
print(answer)

5. 运行评估

使用基于 LLM 的评估方法进行端到端评估:

python eval.py \
  --experiment_type retrieval_infer ## 选择 retrieval_infer/dynamic_hybird_retrieval_infer/vidorag
  --dataset ViDoSeek ## 数据集文件夹名称
  --embed_model_name_vl ## 视觉语言嵌入模型名称
  --embed_model_name_text ## 文本嵌入模型名称
  --embed_model_name ## 仅用于单一嵌入模型评估
  --generate_vlm ## 视觉语言模型名称,如 gpt-4o/qwen-max-vl

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

相关文章
|
负载均衡 测试技术 调度
大模型分布式推理:张量并行与流水线并行技术
本文深入探讨大语言模型分布式推理的核心技术——张量并行与流水线并行。通过分析单GPU内存限制下的模型部署挑战,详细解析张量并行的矩阵分片策略、流水线并行的阶段划分机制,以及二者的混合并行架构。文章包含完整的分布式推理框架实现、通信优化策略和性能调优指南,为千亿参数大模型的分布式部署提供全面解决方案。
3174 4
|
机器学习/深度学习 缓存 监控
大模型推理优化技术:KV缓存机制详解
本文深入探讨了大语言模型推理过程中的关键技术——KV缓存(Key-Value Cache)机制。通过对Transformer自注意力机制的分析,阐述了KV缓存的工作原理、实现方式及其对推理性能的显著优化效果。文章包含具体的代码实现和性能对比数据,为开发者理解和应用这一关键技术提供实践指导。
3099 9
|
并行计算 PyTorch 调度
大模型推理显存优化系列(4):eLLM-大模型推理中的弹性显存管理和优化
本文简要介绍eLLM相关技术挑战、总体设计和初步性能评估
|
负载均衡 并行计算 异构计算
大模型训练推理优化(5): FlexLink —— NVLink 带宽无损提升27%
本期我们将介绍蚂蚁集团ASystem团队在大模型通信优化上的新工作FlexLink,旨在通过动态聚合多路通信(NVLink,PCIe,RDMA),在H800等典型硬件上将典型通信算子如(AllReduce, All Gather)吞吐提升最高达27%,尤其适合大模型长序列推理(Prefill阶段),及训练等通信密集的带宽bound场景。方案对精度无影响。
|
消息中间件 人工智能 资源调度
云上AI推理平台全掌握 (5):大模型异步推理服务
针对大模型推理服务中“高计算量、长时延”场景下同步推理的弊端,阿里云人工智能平台 PAI 推出了一套基于独立的队列服务异步推理框架,解决了异步推理的负载均衡、实例异常时任务重分配等问题,确保请求不丢失、实例不过载。
|
人工智能 缓存 资源调度
云上AI推理平台全掌握 (4):大模型分发加速
为应对大模型服务突发流量场景,阿里云人工智能平台 PAI 推理服务 PAI-EAS 提供本地目录内存缓存(Memory Cache)的大模型分发加速功能,有效解决大量请求接入情况下的推理延迟。PAI-EAS 大模型分发加速功能,零代码即可轻松完成配置。
|
存储 机器学习/深度学习 缓存
阿里云AirCache技术实现多模态大模型高效推理加速,入选国际顶会ICCV2025
阿里云研发的AirCache技术被计算机视觉顶会ICCV2025收录,该技术通过激活跨模态关联、优化KV缓存压缩策略,显著提升视觉语言模型(VLMs)的推理效率与存储性能。实验表明,在保留仅10%视觉缓存的情况下,模型性能下降小于1%,解码延迟最高降低66%,吞吐量提升达192%。AirCache无需修改模型结构,兼容主流VLMs,已在教育、医疗、政务等多个行业落地应用,助力多模态大模型高效赋能产业智能化升级。
959 1
|
机器学习/深度学习 缓存 自然语言处理
【万字长文】大模型训练推理和性能优化算法总结和实践
我们是阿里云公共云 AI 汽车行业大模型技术团队,致力于通过专业的全栈 AI 技术推动 AI 的落地应用。
4103 40
【万字长文】大模型训练推理和性能优化算法总结和实践
|
机器学习/深度学习 算法 数据可视化
从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南
推理型大语言模型兴起,通过先思考再作答提升性能。本文介绍GRPO等强化学习算法,详解其原理并动手用Qwen2.5-3B训练推理模型,展示训练前后效果对比,揭示思维链生成的实现路径。
1492 2
从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南

热门文章

最新文章

推荐镜像

更多
  • DNS