多模态RAG实战:让AI看懂扫描件、图表和截图
传统RAG只能处理文字,遇到PDF图表、发票、截图就歇菜。这篇讲多模态RAG的架构、切分策略和落地难点。
纯文字RAG的盲区
大多数团队的 RAG 是”文本 RAG”:把文档转成文字,切块,向量化,检索。
一旦遇到扫描件、表格、图表、产品截图、手写体,这套流程就崩了——OCR 出来的是乱码,图表信息全丢,版式结构荡然无存。
多模态 RAG 就是来解决这个问题的。
核心思路:图像也是一种”文档块”
传统 RAG 的块是文本。多模态 RAG 的块可以是:
- 纯文本块
- 图像块(整页扫描、图表、截图)
- 图文混合块(带说明的图、表格)
关键转变:用多模态 embedding 把图像和文本映射到同一向量空间。这样用户用文字提问,也能检索到相关的图。
三条主流技术路线
路线一:OCR + 文本RAG(低成本)
先把图 OCR 成文字,再走传统流程。
- 优点:简单、便宜
- 缺点:丢版式、丢图表、OCR 错误多
- 适合:版式规整的文档(合同、正文 PDF)
路线二:多模态Embedding(推荐)
用支持图文的多模态模型,把图像直接编码成向量。
- 优点:保留视觉信息,图和文可互相检索
- 缺点:向量维度大、成本高
- 适合:含图表、截图、复杂版式的文档
路线三:视觉大模型直接理解(最强)
检索到页面图像后,直接丢给视觉大模型(VLM)理解并回答。
- 优点:理解力最强,能读表格和图表
- 缺点:贵、慢
- 适合:高价值、低频率的复杂问答
实战中三者常组合:OCR 做粗筛,多模态 embedding 做检索,VLM 做最终理解。
切分策略:多模态的难点
文本 RAG 切块已经够麻烦,多模态更难:
- 按版面切,不按字数切。先做版面分析,识别标题、段落、表格、图片区域
- 图文保持关联:图片别和它的说明文字切散,否则检索到图也不知道啥意思
- 表格单独处理:表格要么转 Markdown,要么整块作为图像保留
- 页级兜底:实在切不好,就以”整页图像”为块,让 VLM 去理解
版面分析(Layout Analysis)是多模态 RAG 的关键预处理步骤,别省。
检索与重排
- 混合检索:向量检索 + 关键词检索,图像类内容关键词命中率也不低
- 重排(Rerank):多模态检索结果更需要重排,把最相关的图文组合排前面
- 模态感知:查询是问表格的,检索时给表格块加权
落地难点
1. 成本
多模态 embedding 和 VLM 都比纯文本贵得多。必须做分级:能用文本解决的绝不上 VLM。
2. 延迟
VLM 理解一页图可能好几秒。用缓存 + 异步预计算,别在用户请求时现算。
3. 评估难
“检索到正确的图”比”检索到正确的文字”更难评估。要建带图文标注的评测集。
4. 存储
图像向量维度大,索引成本高。考虑降维、聚类、分层索引。
落地清单
- 先做版面分析,按结构切块
- 图文块保持关联,别切散
- 表格/复杂图保留为图像,交给 VLM
- 用多模态 embedding 统一图文检索
- 分级路由:文本够用就别上 VLM
- 建图文评测集,量化准确率
- 缓存 VLM 结果,控制延迟
常见误区
- 以为OCR就够:扫描件图表全丢,效果差
- 按字数切多模态文档:把图和说明切散,检索没用
- 所有请求都走VLM:成本和延迟直接爆表
- 没有图文评测集:改了架构也不知道好坏
结语
多模态 RAG 的价值在于让 AI 真正”看懂”真实世界的文档——不只是文字,还有布局、图表和视觉线索。核心是三件事:好的版面切分、统一的图文检索、分级的理解路由。做好这三点,扫描件和图表就不再是盲区。