系统学习 AI 学习路径:从 GPU 运行时到推理、微调与 RAG 评估

multimodal-rag

多模态 RAG:把 PDF 版面、表格、图片和音频一起检索与引用

补充说明

多模态 RAG 处理的不仅是纯文本,还包括 PDF 里的表格/图片、扫描件、截图、音频和视频。难点在解析和表示:OCR/版面分析会丢结构,图片需要视觉 embedding,表格要保留行列语义,音频要先转写。检索时可以用文本、图像或混合向量,生成时把文本和图片一起交给多模态模型。

典型链路:文档解析(Docling/OCR)→ 结构保留 → 分块/图像抽取 → 文本 embedding + 图像 embedding → 多向量检索 → 重排 → 多模态生成与引用。它比纯文本 RAG 更贵、更复杂,只在业务确实需要图表/扫描件时使用。

常用示例

# Docling:解析 PDF,保留标题、表格、图片
from docling.document_converter import DocumentConverter

converter = DocumentConverter()
result = converter.convert("manual.pdf")
doc = result.document
markdown = doc.export_to_markdown()
# 图像 embedding(CLIP 类模型)
from sentence_transformers import SentenceTransformer
from PIL import Image

model = SentenceTransformer("clip-ViT-B-32")
text_vec = model.encode(["设备面板上的红色指示灯"])
image_vec = model.encode([Image.open("panel.png")])
# 多向量写入向量库:文本块和图片各一条记录,共享文档/页码元数据
record = {
    "id": "manual-p12-img1",
    "vector": image_vec[0].tolist(),
    "payload": {"doc_id": "manual", "page": 12, "type": "image",
                "caption": "设备面板示意图", "tenant_id": 42},
}
生成时把检索到的文本块和图片一起放入多模态模型上下文,
要求回答附带文档名、页码和图片编号,便于人工核对。

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. 多模态 RAG 相比纯文本 RAG 多了哪些处理步骤?
  2. 为什么表格不能按普通文本块切分?
  3. 文本和图像向量能直接用不同模型生成后比较吗?
答案
  1. 版面/OCR 解析、图片抽取、图像 embedding、多向量存储、多模态生成与引用;链路更长、成本更高。
  2. 表格的行列关系依赖表头,切碎后语义丢失;应整表保留或转成结构化文本。
  3. 不能。不同模型的向量空间不兼容;文本和图像要用同一多模态模型(如 CLIP)编码,才能在同一空间比较。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令