本文属于 RAG 工程框架中的「2 索引与召回」环节,聚焦「Multimodal RAG」方法。可先阅读 RAG-00.方法概述 再进入本篇。
原理
多模态编码后建立统一索引,查询可跨模态召回,再由多模态模型生成。
1 | flowchart LR |
优缺。
- 优点:能利用图表、截图、图纸等关键证据。
- 缺点:编码与索引复杂;多模态评估难。
性能/资源
- 离线存储与索引成本高。
- 在线推理显存与时延上升。
应用场景
- 医疗影像辅助、制造图纸问答、财报图表解读。
统一合成数据示例
输入数据片段
1 | { |
中间结果(跨模态召回)
1 | [ |
最终生成示例(含引用)
1 | { |
原始发表与工程实现
- 代表性原始发表:CLIP (2021), BLIP-2 (2023)。
- 核心解决问题:解决图文联合检索生成。
- 成熟实现工具:CLIP/SigLIP, LLaVA, Qwen2-VL。
详细原理拆解
- 图文统一表示或跨编码重排,常见融合 score=w_tscore_text+w_vscore_vision。
- 典型实现可拆为:输入预处理 -> 方法核心计算 -> 候选/证据构建 -> 生成与引用。
- 工程调优重点:质量(准确率/引用率)与成本(时延/token)的联合优化。
1 | flowchart LR |
工程落地扩展示例
伪代码
1 | def multimodal_retrieve(query, text_encoder, vision_encoder, fusion): |
参数示例
1 | text_weight: 0.4 |
常见失败案例
- 失败模式 1:问题指向流程图,但融合权重偏文本,图证据排不到前序。
- 失败模式 2:OCR 错字导致文本向量与图不一致,跨模态对齐失败。
- 失败模式 3:高分辨率图未裁剪图例区域,视觉编码全图噪声大。
Demo 数据带入计算示例
1 | 问句「流程图里审批几天?」应以视觉证据为主:score_vision(IMG01)=0.91 > score_text(TXT01)=0.72。 |