多模态RAG与跨模态检索
理解跨文本、图像、音频和视频的多模态RAG检索融合与生成接地
多模态RAG与跨模态检索
视觉原生文档RAG是一个切片。生产多模态RAG更广——跨文本、图像、音频和视频检索,用于旅行规划(“找一个安静的自然光素食早午餐”)、医疗分诊(“什么伤情匹配这张照片+这些笔记”)、电商(“与这张自拍相似的穿搭,我的尺码”)和现场服务(“诊断这个引擎声音加零件照片”)等工作流。三篇2025年综述——Abootorabi等人、Mei等人、Zhao等人——编纂了子问题:跨模态检索、检索融合、生成接地、多模态评估。本课程阅读综述并设计生产管道。
类型: 构建 语言: Python (stdlib, 带融合+接地生成器的跨模态检索器) 前置知识: Phase 12 · 23 (ColPali), Phase 11 (RAG基础) 时间: ~180分钟
学习目标
- 设计跨模态检索:文本→图像、图像→文本、音频→视频等。
- 比较三种融合策略:分数融合、注意力融合、MoE融合。
- 解释生成接地:当来源是混合模态时”引用你的来源”是什么样的。
- 说出2025年三篇规范多模态RAG综述及其子问题分类法。
问题
单模态RAG是已解决的模式:嵌入查询、嵌入块、检索、塞入LLM。多模态RAG需要:
- 多个检索头(每种模态需要兼容空间中的嵌入)。
- 跨模态检索结果融合。
- 跨模态引用来源的生成接地。
- 覆盖跨模态信号的评估指标。
2025年综述都得出相同分类法。
概念
跨模态检索
给定模态A的查询检索模态B的文档。三种模式:
-
共享嵌入空间。CLIP和CLAP在共享空间中产生文本+图像/文本+音频嵌入。跨模态余弦相似度直接工作。限于CLIP训练对。
-
每模态编码器 + 翻译。文本编码器 + 图像编码器 + 在空间间映射的小型翻译模块。Gupta等人的Sen2Sen和其他2024设计。灵活但增加复杂性。
-
VLM作为编码器。使用VLM的隐藏状态作为检索表示。VLM支持的任何模态都有效。更高质量,更昂贵。
选择:文本+图像用CLIP / SigLIP 2;文本+音频用CLAP;前沿质量跨模态用VLM隐藏状态。
融合策略
你检索了10个结果:5张图像、3段文本、2个音频片段。如何合并?
分数融合(最便宜)。每种模态有自己的检索器,每个返回分数。模态内归一化分数然后求和。简单,通常有效。
注意力融合。拼接所有检索项,让小型注意力网络加权。需要训练。
MoE融合。门控网络路由到模态特定专家。不同查询类型路由不同——视觉问题权重图像更高。
生产默认:分数融合加查询主导模态的轻微偏向。如果A/B测试在领域上显示明显收益则升级到MoE。
生成接地
LLM应该引用哪个检索项驱动了每个主张。对于多模态:
- 文本来源:标准引用
[1]。 - 图像来源:
[img 3]带简短标题。 - 音频:
[audio 2 at 0:34]。
用接地感知数据训练生成器:训练目标中每个主张标记源索引。推理时模型自然发出引用。
2025年综述
Abootorabi等人(arXiv:2502.08826, “Ask in Any Modality”):多模态RAG分类法。覆盖检索、融合、生成。覆盖最广。
Mei等人(arXiv:2504.08748, “A Survey of Multimodal RAG”):聚焦子任务基准和失败模式。对评估设计有用。
Zhao等人(arXiv:2503.18016):视觉聚焦综述。ColPali家族工作强。
阅读全部三篇给你2025年春的最先进状态。大多数子问题仍然开放。
MuRAG — 基础论文
MuRAG (Chen等人, 2022)是首个多模态RAG。从多模态KB检索图像+文本,生成答案。在VLM浪潮前展示可行性。现代系统(REACT, VisRAG, M3DocRAG)在其上构建。
生产旅行规划器示例
查询:“找一个安静的自然光素食早午餐。”
管道:
- 分解查询。“安静”→音频/评论关键词;“素食早午餐”→菜单项;“自然光”→图像特征。
- 每模态检索:
- 评论上文本检索:“素食早午餐,安静氛围。”
- 餐厅照片上图像检索:“自然光,通风。”
- 环境声音片段上音频检索:“低分贝,无音乐。”
- 融合分数。每个餐厅有综合分数。
- Top-k餐厅 → 带所有证据的VLM生成器 → 带引用的答案。
这远超文本RAG。每种模态添加文本单独遗漏的信号。
Agent多模态RAG
多跳:如果首次检索未返回高置信答案,LLM重新表述并再次检索。Phase 14的Agent RAG模式在此适用。示例:
- 检索初始top-10 → LLM问”太吵,过滤<40 dB” → 重新检索。
- 检索图像 → LLM看到一张有菜单 → 检索菜单文本 → 回答。
增加复杂性但处理单次检索无法处理的查询。
评估
跨模态评估仍不成熟。常见代理:
- 每模态Recall@k。
- 融合top-k准确率。
- 人工判断端到端满意度。
- 任务特定(完成预订、完成购买)。
无标准基准覆盖所有模态。大多数论文在领域特定任务上评估。
实践
code/main.py:
- 三个mock检索器(文本、图像、音频)在共享餐厅语料上操作。
- 用可配置权重组合模态分数的分数融合。
- 发出带引用最终答案的生成器存根。
- 置信度低时重新表述查询的简单Agent循环。
输出
本课程产生outputs/skill-multimodal-rag-designer.md。给定带多模态查询流的产品规格,设计检索器、融合、生成器和评估。
练习
-
提出医疗分诊多模态RAG:查询 = 伤情照片 + 文本症状。什么模态从什么KB检索?
-
分数融合是简单加权和。它有什么MoE融合避免的失败模式?
-
阅读Abootorabi等人的分类法(第3节)。三个规范子问题是什么,它们如何映射到你选择的产品?
-
为旅行规划器多模态RAG设计评估规格。什么指标覆盖图像回忆、音频回忆和组合正确性?
-
Agent多跳RAG每往返有延迟税。在什么查询难度下准确率增益证明延迟合理?
关键术语
| 术语 | 常见说法 | 实际含义 |
|---|---|---|
| 跨模态检索 | ”查一种模态,检索另一种” | 文本查询检索图像;图像查询检索文本;需要共享空间或翻译器 |
| 分数融合 | ”合并分数” | 每模态检索分数的加权和;最简单融合 |
| MoE融合 | ”模态路由专家” | 门控网络按查询选择信任哪种模态的分数 |
| 接地生成 | ”引用你的来源” | 答案中每个主张标记源索引 |
| MuRAG | ”首个多模态RAG” | 2022年建立多模态RAG模式的论文 |
| Agent多跳 | ”重新表述和重试” | 首次置信度低时LLM重新查询检索器 |