你的RAG能理解"这张图表说明了什么"吗?

某券商的分析师每天要阅读200份研报,其中70%的信息在图表中——柱状图、趋势线、饼图、表格。纯文本RAG只能处理文字,面对图表完全无能为力。

多模态RAG就是为解决这个问题而生的。但实现多模态RAG的难度,是纯文本RAG的3倍以上。

多模态RAG的三种技术路线

路线一:文本描述替代(最简单)

用视觉模型(GPT-4V、Claude Vision)把图片转成文字描述,然后存入纯文本RAG。

优点:实现简单,复用现有RAG基础设施 缺点:描述可能丢失细节,图表数据在转换中失真

实测:1000张研报图表

  • 转文字描述后检索 Recall@10:72.3%
  • 图表数据失真的比例:28%

金句:文本描述替代是"最偷懒"的多模态方案。能跑,但不够好。**

路线二:双向量空间(中等复杂度)

图片用CLIP生成视觉向量,文本用BGE生成文本向量,存在两个向量空间中。查询时分别检索,合并结果。

优点:保留视觉信息,检索精度高 缺点:需要两个向量数据库,架构复杂

实测:1000张研报图表+5000段文本

  • 纯文本RAG Recall@10:65.2%
  • 双向量空间 Recall@10:85.8%
  • 提升:+20.6个百分点

路线三:统一向量空间(最先进)

用多模态Embedding模型(如ColPali、UniVL)将图文统一Embedding到同一个向量空间。

优点:图文在同一个空间中,自然支持跨模态检索 缺点:多模态Embedding模型还不够成熟,2026年仍处于早期

实测:ColPali统一向量空间

  • Recall@10:92.1%
  • 跨模态检索(文字搜图片、图片搜文字):88.5%

金句:统一向量空间是多模态RAG的终局,但2026年还在路上。**

实战:金融研报多模态RAG

我们为某券商构建了一个多模态RAG系统,处理研报中的文本+图表+表格。

架构

  1. 文档解析:LlamaParse解析PDF,提取文本、表格、图片位置
  2. 图片处理:CLIP生成图片Embedding,GPT-4V生成图片文字描述
  3. 表格处理:大模型提取表格数据,转为结构化JSON
  4. 统一索引:文本存在Milvus(BGE-M3向量),图片存在Milvus(CLIP向量),表格存在PostgreSQL
  5. 多模态检索:查询时同时检索文本、图片、表格,合并结果
  6. 多模态生成:GPT-4V理解检索到的文本+图片+表格,生成综合答案

关键数据

  • 多模态Recall@10:92.1%(vs 纯文本65.2%)
  • 分析师研报阅读时间:从4小时/天降到1.5小时/天
  • 图表理解准确率:88.3%

金句:多模态RAG的核心不是"把图片存进去",而是"让图片和文本在同一个语义空间中对齐"。**