想象你是一家档案馆的资深管理员,每天接待带着各种问题的访客。有人问你:“去年那份汽车宣传册里,红色跑车的照片是哪一页?”传统档案系统只能按文字索引找资料,你在“图片库”和“文字库”两个孤岛之间来回跑,还是找不到答案——因为“红色跑车”这四个字只存在于标题里,可访客真正想要的是那张“看起来就很帅的照片”。多模态RAG,就是给档案馆请来一位会“跨语言”工作的超级帮手:它把文字、图片、表格统统翻译成同一种“语义标签”,贴在每份资料上。从此,访客不论用文字描述,还是拿一张照片来问,管理员都能在统一的知识库里迅速找到“气质最像”的那几份材料,再交给一位会“看图说话”的讲解员(大模型),拼出一份图文并茂的答案。 这篇文章用一个“档案馆管理员阿凯”的故事,带你搞懂多模态RAG的核心:文档怎么拆、图文怎么对齐、索引怎么建、检索怎么混合、结果怎么排。学完你会明白,AI 从“只能读字”到“还能看图”的关键一步,究竟发生在哪里。

岗位关联

掌握多模态RAG,意味着你能把企业里大量图文混排的资产(手册、合同、产品图)变成可检索的智能知识库,这是RAG工程师和AI应用架构师的核心竞争力。

目录
  1. 可视化演示
  2. 文档解析:拆开看,才能看清
  3. 统一向量:借同一把“温度尺”
  4. CLIP对齐:看图识字的翻译班
  5. 混合索引:把档案柜摆出学问
  6. 混合检索:两条腿走路更稳
  7. 跨模重排:决赛评委的精细打分
  8. 全链架构:从提问到图文并茂
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示多模态RAG的编码向量化、CLIP跨模态对齐、图文混合索引检索及生成回答全流程,交互切换四个阶段深入理解。

本节配有交互动效(进入视口后自动加载,约 3KB)。

多模态编码:文本与图片向量化 文本使用text-embedding模型编码,图片使用CLIP视觉编码器提取特征向量,统一映射到高维向量空间 v_text = Encoder(text), v_img = CLIP_V(img) 向量维度通常为768或1024,决定检索精度与计算开销。

文档解析:拆开看,才能看清

档案馆的老规矩,是把整本图文册子当作一件藏品塞进柜子。访客想找“刹车片磨损的照片”,管理员阿凯只能把一整册从第一页翻到最后一页,又慢又容易漏。如果先把册子拆开来整理——文字段落放一格、照片放一格、表格放一格,每种资料单独标注——之后找起来就快多了。

多模态RAG的第一步,正是这样的“拆档案”:多模态文档解析。面对一份 PDF 或扫描件,先做版面分析,判断页面上每一块区域是标题、正文、图片还是表格;藏在图片里的文字,再用 OCR 识别出来;最后按语义把内容切成独立的最小单元(结构切分),并记录每块属于哪一页,这就是元数据标注。

每个切好的语义块可以表示成一个三元组:类型 \(t_i\)(文本、图片还是表格)、内容 \(c_i\)(文字或图像数据)、位置 \(p_i\)(页码和坐标)。位置信息很重要——回答“第几页的图”这类问题时,它就是证据来源。

拆完档案,图文混排的书页变成了一格一格带标签的素材。阿凯松了口气:资料终于不再是“一本书”,而是“一批可以随意组合的积木”。不过,要让文字积木和图片积木互相比较,还需要一把共同的尺子。

D={B1,B2,…,Bn},Bi=(ti,ci,pi)\mathcal{D} = \{B_1, B_2, \ldots, B_n\}, \qquad B_i = (t_i, c_i, p_i)
一份文档 = 若干带类型标签的语义块的集合,每个块都清楚“我是什么、我讲什么、我在哪”。
  1. 文档表示为块的集合把一份文档拆成 n 个独立的语义块。
    D={B1,B2,…,Bn}\mathcal{D} = \{B_1, B_2, \ldots, B_n\}
  2. 块的三要素每个块由类型、内容、位置三元组唯一刻画。
    Bi=(ti,ci,pi)B_i = (t_i, c_i, p_i)
  3. 类型取值域类型只能是预定义模态之一,保证后续处理有章可循。
    ti∈{文本,图片,表格,页眉页脚}t_i \in \{\text{文本}, \text{图片}, \text{表格}, \text{页眉页脚}\}

统一向量:借同一把“温度尺”

积木的语言不同:文字是“刹车片”三个字,图片是金属表面的纹理和颜色。阿凯怎么判断它们说的是同一回事?假设给每块积木贴一支“语义温度计”,温度越高越接近访客的问题——不管它是文字还是图片,温度一对比,相关性立刻现形。

这支温度计就是向量。多模态编码器把文本映射成文本向量,把图片映射成图像向量,并让它们落在同一个维度的“向量空间”里。只要向量空间对齐过,“刹车片”的文字向量和磨损照片的图像向量在空间里的距离就非常近。这就是图文统一向量化:用同一把尺子量两种模态。

实现上最常用的是双塔编码器:文本塔和图像塔分别通过深度网络编码,最终都输出一个 d 维向量(维度对齐)。向量还要做 L2 归一化,把长度变成 1,这样求相似度时只看方向、不受长度干扰。两个向量的夹角越小,语义越接近。

阿凯拿着温度尺,在素材格之间来回比划,心里有了底。但一个新问题冒出来:“红色”这个词,和一张“红色跑车照片”的像素颜色,凭什么能在空间里站到同一个位置?这需要专门的“图文对翻译训练”。

sim(vq,vd)=vq⋅vd∥vq∥2 ∥vd∥2\text{sim}(\mathbf{v}_q, \mathbf{v}_d) = \frac{\mathbf{v}_q \cdot \mathbf{v}_d}{\|\mathbf{v}_q\|_2 \, \|\mathbf{v}_d\|_2}
相似度 = 两个向量夹角的余弦值,越接近 1 说明方向越一致,语义越相关。
  1. 查询编码把用户提问(文字或图片)编码成查询向量。
    vq=Encoder(q)\mathbf{v}_q = \text{Encoder}(q)
  2. 点积度量重合度分子是两向量的逐元素乘积之和,衡量同向程度。
    vq⋅vd\mathbf{v}_q \cdot \mathbf{v}_d
  3. 长度归一分母是两向量 L2 范数乘积,让相似度只看方向不看长短。
    ∥vq∥2 ∥vd∥2=∑ivq,i2⋅∑ivd,i2\|\mathbf{v}_q\|_2 \, \|\mathbf{v}_d\|_2 = \sqrt{\sum_i v_{q,i}^2} \cdot \sqrt{\sum_i v_{d,i}^2}

CLIP对齐:看图识字的翻译班

阿凯学外语时最爱看中英字幕电影:屏幕出现一只猫,字幕写着“cat“,多来几次,大脑就把画面和单词绑在一起了。CLIP 的训练思路正是如此——喂给模型海量的”图片 + 说明文字“配对,让它自己总结出”画面长什么样“和”文字怎么说”之间的对应关系。

CLIP 采用图像编码器和文本编码器的双塔结构。训练时,一个 batch 里有 N 张图和 N 条文本,第 i 张图与第 i 条文本是正确配对,其余 N-1 条文本都是干扰项。模型要做的事,就像从 N 条文本中准确挑出与当前图片最匹配的那一条——这就是对比学习。

这个目标用 InfoNCE 对比损失实现:分子鼓励配对图文的相似度变大,分母对所有候选的相似度求指数和,相当于一个多分类 Softmax。温度系数 τ 控制分布的陡峭程度——τ 越小,模型越“苛刻”,配对样本会被拉得更近;τ 越大,分布越平滑。

经过训练,阿凯脑子里有了一张“词语 ↔ 画面互译表”。这张表不仅对训练用过的图有效,还能迁移到没见过的新物体上——这就是零样本迁移能力。现在,文字和图片终于能在同一把温度尺上直接比了。

L=−1N∑i=1Nlog⁡exp⁡ ⁣(sim(viI,viT)/τ)∑j=1Nexp⁡ ⁣(sim(viI,vjT)/τ)\mathcal{L} = -\frac{1}{N} \sum_{i=1}^{N} \log \frac{\exp\!\big(\text{sim}(\mathbf{v}_i^I, \mathbf{v}_i^T) / \tau\big)}{\sum_{j=1}^{N} \exp\!\big(\text{sim}(\mathbf{v}_i^I, \mathbf{v}_j^T) / \tau\big)}
这个损失像一场“连连看”考试:给你一张图,要从一堆文字里挑出唯一的正确描述,挑错了就罚,罚到模型学会为止。
  1. 批量配对训练时取 N 个图文对,图与文本一一对应。
    i=1,2,…,Ni = 1, 2, \ldots, N
  2. 正样本相似度配对图文的向量余弦相似度越高越好。
    sim(viI,viT)\text{sim}(\mathbf{v}_i^I, \mathbf{v}_i^T)
  3. 负样本竞争分母对 batch 内所有文本相似度做指数和,构成 Softmax 分类。
    ∑j=1Nexp⁡ ⁣(sim(viI,vjT)/τ)\sum_{j=1}^{N} \exp\!\big(\text{sim}(\mathbf{v}_i^I, \mathbf{v}_j^T) / \tau\big)
  4. 温度与平均τ 控制分布锐度,求和取负平均即得到最终损失。
    −1N∑i=1Nlog⁡(⋅)-\frac{1}{N} \sum_{i=1}^{N} \log(\cdot)

混合索引:把档案柜摆出学问

档案馆每天新增几千份资料,阿凯不能每次都在全馆上下跑一圈比温度。他需要聪明的摆放策略:给每份资料测出温度后,把温度相近的资料放进同一个抽屉,再在抽屉外贴上分类标签。

放到技术上,这个“抽屉”是向量数据库。多模态RAG 会把解析出的所有文本块和图片块统一写入同一个向量库,形成统一向量索引;同时保留文本的关键词倒排索引,方便精确查找。向量库内部还可以按模态或业务线分段索引,互不干扰。

每条索引记录包含四个部分:唯一 id、统一向量、模态类型、元数据。元数据记录来源文档、页码和标题。检索时先做元数据过滤,缩小搜索范围,再在剩余集合里做近似最近邻搜索,几十万条资料也能毫秒级响应。

阿凯的档案柜终于有模有样:统一索引管语义,倒排索引管精确,元数据过滤器管范围。万事俱备,只欠访客上门——可访客提问的姿势五花八门,有的是原话,有的只记得大概,还有的直接甩来一张照片。

R=(id, v, m, meta)R = (\text{id}, \, \mathbf{v}, \, m, \, \text{meta})
索引让检索变成“先定位再细查”:先按标签缩小范围,再在大抽屉里精准摸到最像的那几张卡片。
  1. 全局唯一编号每个语义块分配一个全局唯一 id,便于追溯。
    id∈N\text{id} \in \mathbb{N}
  2. 固定维度向量v 是图文编码后得到的 d 维统一向量。
    v∈Rd\mathbf{v} \in \mathbb{R}^{d}
  3. 元数据负载meta 记录模态类型、来源文档与页码等检索辅助信息。
    meta=(来源,页码,标题)\text{meta} = (\text{来源}, \text{页码}, \text{标题})

混合检索:两条腿走路更稳

访客说“去年红色跑车那页”,阿凯会两条腿走路:一条腿翻精确登记册,查“红色跑车”四个字;另一条腿掏温度尺,找温度最高的档案。两条线索一对照,既不会漏掉表达方式的差异,也不会被错别字带偏。

技术上的两条腿,一条是向量语义检索,另一条是 BM25 关键词检索。向量检索擅长同义改写与跨模态匹配——“帅气红色轿跑”也能找到红色跑车照片;BM25 对型号、编号这类精确词更可靠——"S10-AP02-445"一搜一个准。两条腿配合,覆盖更全面,也更有鲁棒性。

融合策略很直接:把向量相似度和 BM25 分数分别归一化到同一量纲,再按权重 λ 加权求和(分权重加权)。λ 通过验证集调优:语义问答场景 λ 取大,型号精确检索场景 λ 取小。也有用 RRF 做融合的,下节会讲到,它不依赖分数绝对值而依赖排名。

两条腿走完,阿凯手上多了二十份待定材料,都跟“红色跑车”沾边。但访客要的是一个确切的答案,不能囫囵吞枣全端上去。是时候请出决赛评委了。

score(q,d)=λ⋅norm(simvec(q,d))+(1−λ)⋅norm(BM25(q,d))\text{score}(q, d) = \lambda \cdot \text{norm}\big(\text{sim}_{\text{vec}}(q, d)\big) + (1-\lambda) \cdot \text{norm}\big(\text{BM25}(q, d)\big)
融合的本质是取长补短:向量抓语义,关键词抓精准,两者结合后 TopK 质量更高。
  1. 向量分数归一向量相似度先做 min-max 或 z-score 归一化,消除量纲差异。
    norm(simvec(q,d))\text{norm}\big(\text{sim}_{\text{vec}}(q, d)\big)
  2. 关键词分数归一BM25 原始分数同样归一化,让两类分数可比。
    norm(BM25(q,d))\text{norm}\big(\text{BM25}(q, d)\big)
  3. 权重融合λ 在 0 到 1 之间取值,靠验证集调优决定“语义”与“精确”的侧重。
    λ⋅(⋅)+(1−λ)⋅(⋅),λ∈[0,1]\lambda \cdot (\cdot) + (1-\lambda) \cdot (\cdot), \qquad \lambda \in [0, 1]

跨模重排:决赛评委的精细打分

海选选出二十份,真正符合要求的可能只有两三份。阿凯不能只看初赛分数牌,得把每份材料掰开揉碎,和访客的问题逐字比对——就像决赛评委逐帧看选手表演,而不是只看预赛的打分器。

技术上的重排阶段,用更重的模型对初筛结果做精细打分。粗排的双塔是“分头编码再点积”,交互浅但速度快;重排的交叉编码器把查询和候选拼成一段输入,让模型逐 token 地“互相看见”,排序精度高得多,但成本也高,所以只作用于少量候选(结果 TopK)。

多模态重排还会做联合打分:候选是图片时,模型同时看查询文字和图片内容,综合图文一致性、来源可信度等信号。若多路检索的结果需要合并,RRF(倒数排名融合) 也是常用技巧——不看分数绝对值,只看候选在每个列表里的名次是否都靠前。

决赛结束,阿凯手里的二十份材料变成了精准的三份,每一份都有站得住的理由。他捧着这三份素材,走向档案馆里那位最会表达的讲解员——最后一步,要看讲解员怎么把图文变成答案。

RRF(d)=∑r∈R(d)1k+r\text{RRF}(d) = \sum_{r \in R(d)} \frac{1}{k + r}
重排不迷信相似度绝对值,看的是“候选在不同列表里的排名是否都靠前”,这是一种稳健的排序融合思路。
  1. 候选的多个排名同一文档在多个检索结果列表中各有一个名次 r。
    r∈R(d)r \in R(d)
  2. 倒数衰减名次越靠前贡献越大,常数 k 通常取 60,防止太靠后的名次贡献趋近于零。
    160+r\frac{1}{60 + r}
  3. 跨列表求和把文档 d 在所有列表中的贡献相加,得到鲁棒总分。
    RRF(d)=∑r∈R(d)160+r\text{RRF}(d) = \sum_{r \in R(d)} \frac{1}{60 + r}

全链架构:从提问到图文并茂

访客掏出一张褪色老照片问:“这是哪座教堂?顺便介绍下历史。”阿凯先仔细看照片(查询预处理),再在馆里检索、重排,最后把最相关的图文资料递给讲解员。讲解员看一眼图、扫一遍文字,出口成章:“这是圣三一教堂,建于 1872 年……”还附上一幅当年的建筑图纸。

这就是多模态RAG 全链路:查询预处理(识别用户输入是文字还是图片,提取关键语义)→ 多模态检索(混合检索 + 重排得到 TopK 上下文)→ 检索增强(把图文片段拼进 Prompt)→ 多模态生成(语言模型生成文字答案,或视觉语言模型直接看图回答)→ 评估优化(记录命中率、答案准确率,迭代调参)。

生成阶段的目标,是最大化“在给定查询和检索证据下,生成答案 \(A\)”的条件概率。检索证据是重排后的前 k 个图文块,它们像开庭时的“呈堂证供”,让大模型的回答有据可依。用户上传图片时,图片先经视觉编码器变成图像 token,再与文字一起进入多模态大模型。

阿凯的档案馆至此完整运转:拆档案、贴温度尺、上翻译班、布置柜子、混合查找、决赛评审、讲解员出口成章——这就是多模态RAG 让 AI 看懂图文混排的全部秘密。你学到的每一步,都能在真实的图文知识库项目中派上用场。

A∗=arg⁡max⁡A P(A∣q,{r1,r2,…,rk})A^{*} = \arg\max_{A} \, P\big(A \mid q, \{r_1, r_2, \ldots, r_k\}\big)
答案不再凭空产生,而是“站在检索证据的肩膀上”,有图有文、有据可查。
  1. 检索证据集取重排后的前 k 个图文块,作为生成的参考依据。
    {r1,r2,…,rk}\{r_1, r_2, \ldots, r_k\}
  2. 条件概率在查询 q 与证据集的共同条件下,大模型输出答案 A 的概率。
    P(A∣q,{ri})P\big(A \mid q, \{r_i\}\big)
  3. 最优解码在候选答案中取概率最大的序列作为最终回答。
    A∗=arg⁡max⁡A(⋅)A^{*} = \arg\max_{A} (\cdot)

AI 应用场景

场景1:产品手册图文问答

阶段:文档解析 + 多模态检索 + 生成

解决的问题:汽车维修手册动辄上千页,全是零件图、装配图、警告表格。传统文本RAG 只能搜文字说明,技术员拿手机拍一张磨损的刹车片,问“这个要不要换”,系统毫无办法。多模态RAG 把手册切块、图文统一编码,技术员拍照提问,系统检索到对应的图文片段,回答“磨损深度达 3mm,需立即更换”并附上示意图。

具体案例:某车企售后知识库接入多模态RAG 后,一线技师用手机拍照提问的平均查准率从 62% 提升到 89%,单次查手册时间从 8 分钟降到 30 秒。

场景2:多模态文档智能归档

阶段:文档解析 + 索引构建

解决的问题:企业合同、发票、票据既有扫描文字又有印章图片、签名手写字和表格,人工归档费时且容易漏。多模态RAG 的解析层把版面分析、OCR、表格识别和元数据标注自动化,合同图片、签名与条款表格统一进索引,之后按“某一页的章”或“某条金额”都能检索到。

具体案例:某律师事务所导入历史合同扫描件 3 万份,使用版面分析 + 图文索引后,“2023 年某项目的补充协议”这类模糊检索能在 2 秒内返回对应页码与截图。

场景3:电商商品图文混合搜索

阶段:跨模态对齐 + 混合检索

解决的问题:买家说“我在店里见过一件米色风衣,但想要深蓝色的”,只靠文字搜不出“米色风衣”的照片,只靠图片搜不出“深蓝色”这个修改。图文混合检索把图片向量和文字向量统一建模,输入的图片与文字约束在同一个向量空间里检索,找到款式一致且颜色匹配的商品。

具体案例:某跨境电商用 CLIP 对齐后的多模态索引,支持“上传图片 + 文字改款”搜索,搜索到目标商品的转化率提升 18%。

Python 演示

python56 行
# -*- coding: utf-8 -*-"""多模态RAG图文检索演示:CLIP跨模态编码+图文统一检索""" import osimport numpy as npfrom PIL import Imagefrom sentence_transformers import SentenceTransformer # 1. 加载跨模态对齐模型(内部含图像编码塔和文本编码塔)model = SentenceTransformer("clip-ViT-B-32-multilingual-v1")  def l2norm(vec):    vec = np.asarray(vec)    return vec / np.linalg.norm(vec)  def load_image(path):    if os.path.exists(path):        return Image.open(path)    # 演示环境缺少图片时,用纯色占位图保证流程可运行    return Image.new("RGB", (224, 224), (90, 110, 160))  # 2. 模拟图文混排知识库:文本条目与图片条目混合存放knowledge_base = [    {"type": "文本", "text": "刹车片磨损至3mm必须更换"},    {"type": "图片", "path": "assets/pad_wear.jpg"},    {"type": "文本", "text": "机油每5000公里更换一次"},    {"type": "图片", "path": "assets/oil_level.jpg"},    {"type": "文本", "text": "胎压标准值2.5bar"},    {"type": "图片", "path": "assets/tyre_psi.jpg"},] # 3. 构建索引:把文本和图片统一编码进同一向量空间index_vecs = []for item in knowledge_base:    if item["type"] == "文本":        vec = model.encode(item["text"])    else:        vec = model.encode(load_image(item["path"]))    index_vecs.append(l2norm(vec)) # 4. 用户提问(文字或图片路径都可以)query = "刹车片什么时候该换?"q_vector = l2norm(model.encode(query)) # 5. 多模态检索:余弦相似度排序scores = [(q_vector @ vec, i) for i, vec in enumerate(index_vecs)]scores.sort(reverse=True) # 6. 输出TopK图文混合结果for rank, (score, idx) in enumerate(scores[:3], 1):    item = knowledge_base[idx]    name = item["text"] if item["type"] == "文本" else item["path"]    print("Top%d [%s] 相似度=%.3f -> %s" % (rank, item["type"], score, name))
目的:用 CLIP 把文字和图片统一编码进同一向量空间,对图文混排知识库做多模态检索,输出 TopK 图文混合结果。
  1. model = SentenceTransformer("clip-ViT-B-32-multilingual-v1")加载预训练跨模态对齐模型,首次运行需联网下载
  2. if item["type"] == "文本":按模态类型走不同编码分支
  3. vec = model.encode(load_image(item["path"]))图片用 PIL 加载后编码
  4. index_vecs.append(l2norm(vec))L2 归一化后索引,让点积等价于余弦相似度
  5. scores = [(q_vector @ vec, i) for i, vec in enumerate(index_vecs)]一次向量点积算出与所有条目的相似度
  6. scores.sort(reverse=True)按相似度降序排列
  7. print("Top%d [%s] 相似度=%.3f -> %s" % (rank, item["type"], score, name))输出图文混合的检索结果

常见误区

误区很多人以为,把 PDF 用 OCR 全部转成文字,再塞进普通文本 RAG,就算是多模态 RAG 了。毕竟“图片里的字”也能查到了。

正解OCR 只提取了文字,丢掉了图片本身的视觉语义(颜色、形状、布局)。真正多模态 RAG 要把图片、表格作为独立模态保留,用跨模态编码器统一表示。比如产品手册里的电路图,OCR 完全描述不了连接关系,但图像编码器可以。你可以把 OCR 想象成只看台词不看画面的观众,而多模态懂得“画面本身也是剧情”。

为何常见:OCR 是最直观的“让系统能读图”的手段,很多人在第一步就以为大功告成。

误区看到“多模态”就联想到图文生成,以为 CLIP 输入一张图就能输出描述文字,或者能根据文字生成一张新图。

正解CLIP 只做对齐编码,不生成内容。它的输出是向量,核心本领是判断“文字和图片是否匹配”。要生成文字,需要接 GPT 这类语言模型;要生成图片,需要接扩散模型。CLIP 更像档案馆里的“分类员”,而不是“讲解员”。

为何常见:多模态生成模型(如 DALL·E、GPT-4V)在新闻里更出圈,容易让人把编码模型和生成模型混为一谈。

误区工程赶时间的人会想:直接用 CLIP 把整页 PDF 编码成一个向量去检索,不也一样吗?何必花力气切块。

正解整页编码会把多个无关区块搅成一个向量,检索时“一锅炖”,容易把标题的语义和正文的语义互相污染。合理的做法是版面分析 → 切块 → 分别编码,让“图 + 文”的最小语义单元精确匹配。比如一张海报里,标题、人物照片、二维码是三个完全不同的语义块,必须分开。

为何常见:切块增加了技术栈和耗时,在“先跑通”的心态下最容易被砍掉。

误区语义检索效果好到惊艳,不少初学者认为关键词检索 BM25 是“老古董”,可以彻底退役。

正解对专有名词、型号、编号这类精确词汇,向量模型反而容易混淆,BM25 一搜一个准。此外两者失败的模式不同,融合之后往往更稳健。向量找“气质”,BM25 对“暗号”,各有各的赛道。

为何常见:语义检索在自然语言问题上的表现太过亮眼,让人高估了它对精确符号的覆盖能力。

误区看到 Top1 相似度 0.95,就觉得这条一定是对的,不需要再花成本做重排。

正解向量相似度只反映语义“接近”,不反映事实正确。重排模型用更细粒度的交互打分,综合图文一致性、位置、来源可信度,能明显提升答案命中率。0.95 的图片可能是“形似”而非“正确”,就像海选第一名未必是总决赛冠军。

为何常见:排名第一且分数高,直觉上会产生强烈的信任感。

面试题

Q1. 多模态RAG 相比纯文本RAG 最核心的增强是什么?

单选题 · easy

  • A.支持图片表格等多模态检索← 正确答案
  • B.仅加速纯文本检索速度
  • C.无需任何向量数据库
  • D.完全替代关键词搜索

答案:A。多模态RAG 让图片、表格也能被检索和引用,AI 能“看图”而非只“读字”。B 是传统文本RAG 的范围;C 错,向量库仍在;D 错,多模态通常与关键词混合检索。

Q2. 下列哪个是典型的跨模态对齐模型?

单选题 · easy

  • A.CLIP模型← 正确答案
  • B.BERT模型
  • C.GPT-3模型
  • D.LDA模型

答案:A。CLIP 同时对图像和文本编码并对齐到同一向量空间。BERT 只处理文本,GPT-3 是文本生成模型,LDA 是主题模型,三者都不做图文跨模态对齐。

Q3. CLIP 对比学习训练的核心目标是?

单选题 · mid

  • A.拉近匹配图文对的向量距离← 正确答案
  • B.让所有图片向量变成同一个
  • C.增大匹配图文对的向量距离
  • D.让文本向量之间没有距离

答案:A。训练时配对图文是正样本,要拉近;不配对的是负样本,要推开。B、D 会让表示崩塌,C 方向正好相反,都会让模型失去区分能力。

Q4. 版面分析在多模态文档解析中的作用是?

单选题 · mid

  • A.判断页面每块区域的类型与位置← 正确答案
  • B.自动修正文本中的错别字
  • C.压缩图片分辨率节省存储
  • D.自动生成整篇文档的摘要

答案:A。版面分析用检测模型把标题、正文、图片、表格框出来,为切块提供坐标和类型。B 是 OCR 纠错,C 是图像压缩,D 是文本摘要,均与版面结构无关。

Q5. 图文统一向量化的核心前提是?

单选题 · mid

  • A.图文向量维度相同且能算相似度← 正确答案
  • B.图片必须先转成文字再编码
  • C.文本必须转成图片再编码
  • D.两种向量永远不能相互比较

答案:A。跨模态对齐模型的输出空间一致,才能用余弦相似度衡量语义。B、C 是单向转换,会丢失各模态特有信息;D 直接否定了多模态检索的可能性。

Q6. 重排模型与粗排双塔模型的关键区别是?

单选题 · hard

  • A.粗排交互浅,重排交互深← 正确答案
  • B.粗排的参数规模更庞大
  • C.重排仅处理图片模态
  • D.重排不需要用户查询

答案:A。双塔把查询和文档分别编码后简单点积,交互浅、速度快,适合海选;重排的交叉编码器把两者拼接后逐 token 深度交互,更准但更慢。B 说反了,C、D 与事实不符。

Q7. 多模态混合检索通常包含哪些手段?

多选题 · mid

  • A.向量语义检索← 正确答案
  • B.BM25关键词检索← 正确答案
  • C.版面分析模块
  • D.元数据过滤← 正确答案

答案:ABD。向量检索找语义相近,BM25 抓精确词,元数据过滤先缩小范围,三者融合效果更稳。C 版面分析属于文档解析阶段,不是检索手段。

Q8. RRF 融合中,文档 d 出现在多个检索列表时,融合得分是?

单选题 · hard

  • A.各列表排名倒数的求和← 正确答案
  • B.各列表最高分数之和
  • C.所有向量模长的乘积
  • D.关键词出现次数的平均

答案:A。RRF 公式为 Σ 1/(k+r),k 通常取 60,把排名转化为可累加的分数,不依赖原始相似度量纲。B 无法平衡不同检索的分数尺度,C、D 与排名融合无关。

Q9. 多模态RAG“文档解析”阶段通常包含哪些内容?

多选题 · easy

  • A.版面分析与结构切分← 正确答案
  • B.OCR识别图片内文字← 正确答案
  • C.元数据标注与索引← 正确答案
  • D.用LLM直接生成答案

答案:ABC。解析阶段负责版面分析、OCR、切分和元数据标注,为后续编码打基础。D 是生成阶段的动作,不属于解析阶段。

Q10. 对比学习损失中温度系数 τ 的作用是?

单选题 · extreme

  • A.调节相似度分布的陡峭程度← 正确答案
  • B.控制梯度下降学习率
  • C.决定向量空间的维度
  • D.增加模型参数数量

答案:A。τ 越小,Softmax 越尖锐,模型越严格地区分正负样本;τ 越大,分布越平滑。τ 是损失函数中的超参数,不负责学习率、向量维度或参数量。