多模态 RAG 怎么做?图片和图表怎么入库和检索?

第 1200 题 约 2 分钟读完

本文目录
  1. 面试怎么回答
  2. 两种主流思路
  3. 实践中的组合
  4. 数据管理要点
  5. 评测

面试怎么回答

主流有两种思路。一是用多模态模型给图片生成详细描述,图表再提取成结构化数据,描述走现有的文本检索链路,命中后把原图和描述一起交给多模态模型回答,优点是复用链路,缺点是描述可能不全。二是用多模态 Embedding 直接把图片甚至整页截图向量化,和文本在同一空间检索,不依赖描述,但对精确数值和小字效果有限、成本更高。实践中我会组合:文本解析和页面截图两路召回,图表生成描述加提取数据,回答时附上原图让模型核对。数据上图片要和文档、页码关联,存对象存储,记录描述模型版本,对重复图片去重,并单独构造答案在图片里的评测集。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

企业文档里大量信息在图片里:架构图、流程图、仪表盘截图、产品图片、带图表的 PPT。纯文本 RAG 会把这些信息全部丢掉。面试官问多模态 RAG,想看你怎么让图片里的信息也能被检索和回答。

两种主流思路

思路一:把图片转成文字

  • 用多模态模型为每张图片生成详细描述:图里有什么、图表的标题、坐标轴、关键数值和趋势;
  • 对图表可以进一步提取成结构化数据(表格);
  • 描述文字和普通文本一起切分、向量化、检索;
  • 检索命中后,把原图和描述一起交给多模态模型生成回答。

优点是复用现有的文本检索链路;缺点是描述生成有成本,描述不全时会丢失细节。

思路二:多模态 Embedding

  • 用能同时处理图片和文本的 Embedding 模型,把图片直接向量化,和文本在同一个向量空间里;
  • 用户的文字问题可以直接检索到相关图片;
  • 也有方法把整页文档截图直接向量化,跳过文本解析,对版式复杂的文档效果不错。

优点是不依赖描述的质量;缺点是对精确数值、小字的检索能力有限,向量存储和计算成本更高。

实践中的组合

  • 文档页面:文本解析 + 页面截图都存,检索时两路召回;
  • 图表:生成描述 + 提取数据表;
  • 检索结果交给多模态模型时,同时提供原图,让模型自己看图核对,减少描述误差带来的错误。

数据管理要点

  • 图片和它所在的文档、页码、上下文段落建立关联,回答时能定位来源;
  • 图片存对象存储,索引里存引用和描述;
  • 记录描述生成用的模型和版本,模型升级后可以重新生成;
  • 去重:同一张 Logo、模板图在很多文档中重复出现,没必要每次都生成描述。

评测

单独构造「答案在图片里」的问题集,比较纯文本 RAG 和多模态 RAG 的准确率,确认投入是否值得。