想象你是商场保安,收到目击者一条线索:“穿红裙、短发、背黑色双肩包的人”。传统做法是:先让速记员把所有路人的外貌抄成文字档案,然后你拿文字描述在档案里比对。可速记员抄“红色上衣”时,分不清正红和暗红;抄“背书包”时,漏掉了包上的 Logo;更重要的是,她根本没法描述裙子的质地和整体气质——文字一旦落下,视觉信息就永远丢了。多模态 RAG 换了一种思路:不抄文字,直接把监控照片交给你。你把照片切成小格子,线索“红色”就去所有格子里找最像的那一格,“短发”“背包”也各自去找,最后把几条线索的命中度汇总,判断照片里有没有这个人。这就是 ColPali / ColQwen 这类视觉文档检索模型做的事——让 AI 直接“看”PDF 页面图像,而不是先 OCR 抄一遍。
对 AI 从业者而言,掌握多模态 RAG,意味着你能避开 OCR 管道在图表、公式、复杂版面上的连环翻车,为知识库问答、文档检索系统开辟一条更稳健的技术路线,这是当前 RAG 工程落地的高价值差异化能力。
目录
可视化演示
三步展示ColPali多模态RAG:视觉编码与patch提取、晚期交互MaxSim匹配、无OCR方案与传统OCR对比。
本节配有交互动效(进入视口后自动加载,约 3KB)。
ColPali视觉编码与patch提取 PDF页面经SigLIP编码为patch向量序列 PaliGemma VLM保留版面和视觉信息 查询token与patch向量独立编码 Patch_i=SigLIP(img_i) 无需OCR直接从图像生成向量表示保留完整文档信息。
文档检索痛点:速记员的困境
传统 RAG 系统在回答“这份年报里营收增长最快的季度是哪个”这类问题时,总要请一位“速记员”——OCR 模块——先把 PDF 里的字一个个抠出来,变成纯文本,再把这些文本切成小块、做向量化、建索引。速记员遇到印刷清晰的正文还好,可一旦碰上折线图、合并单元格的表格、带上下标的公式,她就开始犯错:图表里没有“字”可抄,表格的横竖关系一抄就乱,公式的结构在文字流里彻底摊平。最后,你把一份“被抄乱”的文本交给检索模型,模型再聪明也看不出“折线在 2023 年 Q3 陡然上升”这种视觉趋势。
从数学上看,这种文本检索的本质,是计算问题向量与文档向量之间的余弦相似度。它假设“语义全在文字里”,于是抛弃了版式、颜色、空间关系这些同样承载信息的维度。
速记员的困境由此而来:她能抄下文字,却抄不下图表里的趋势、表格里的空间关系、排版里的层次。而这些问题,恰恰是专业文档(财报、论文、政策文件)里最常见的表达方式。
- 文本嵌入先用嵌入模型把查询 q 和文档 d 各变成一个向量,记作 e_q 和 e_d,向量里的每个数字代表一个语义维度。
- 点积求相似两个向量做内积,对应维度相乘再相加,得到一个未归一化的相似度分数。
- 模长归一化除以两个向量的模长,消除文本长短带来的偏差,得到范围在 -1 到 1 的余弦相似度。
多模态RAG概览:换一种看画方式
如果速记员总在丢信息,那不如不抄了。多模态 RAG 的思路是让 AI 直接看“画”——把 PDF 的每一页渲染成一张高清图片,交给视觉语言模型去理解。保安不再依赖文字档案,而是直接盯着监控照片,用眼睛去感受“红色”“短发”“背包”这些视觉线索。这个转变看似简单,却把三件事同时解决了:不再需要 OCR 模块,不再需要版面分析模块,也不再需要为图表单独写解析器。
技术上说,模型拿到的是整页图像 I,视觉语言模型一次性输出这一页的结构化表示。值得注意的是,这个表示不是一个向量,而是一组向量——因为一页画面里有太多内容(标题、图表、脚注、Logo),压成一个向量必然信息爆炸。
形象地说,多模态 RAG 给 AI 配了一双眼睛,让它能看见“画面里的所有细节都在哪儿”。这让后面每一步检索都建立在完整视觉信息之上,而不是建立在速记员残缺的文字稿上。
- 输入图像I 代表 PDF 渲染出的整页图像,包含版面、图表、公式和所有视觉细节。
- 视觉语言模型VLM 同时具备视觉编码能力和语言理解能力,它“看”图像后输出特征。
- 输出矩阵h_I 是一个 N 行 D 列的矩阵,N 是图像块数量,D 是每个图像块的特征维度,行与行之间保留了空间位置关系。
ColPali架构:保安的眼睛与大脑
ColPali 是这一思路的代表模型。它的名字拆开看:Col 来自 ColBERT(一种把查询拆成 token 向量做晚期交互的检索模型),Pali 来自 PaliGemma(一个视觉语言模型)。整个架构就像一位训练有素的保安:视觉编码器是他的眼睛,语言模型是他的大脑,眼睛负责看,大脑负责把看到的画面整理成可检索的“记忆卡片”。
具体来说,视觉编码器(通常基于 SigLIP / ViT)先把页面图像切成规则的小方块——图像 patch,每个 patch 是一个固定尺寸的方块,类似把照片打上网格。语言模型(如 Gemma)再对 patch 序列做进一步理解,让每个 patch 的向量不仅包含自己那块的颜色和纹理,还包含它和周围内容之间的关系。最后输出的就是一组 key/value 形式的 patch 向量,用于后续检索打分。
有了眼睛和大脑,保安还要学会一件事:怎么把目击者的口头线索和眼前的画面比对。这就要看查询是怎么被编码的了——也就是“线索登记”环节。
- Patch 切割视觉编码器把图像均匀切成 N 个小方块,每个方块是独立的“观察单元”。
- 逐块编码每个 patch 经过视觉编码器和语言模型的处理,映射成 D 维向量 p_j。
- 序列保留所有 patch 向量按空间顺序排列,形成矩阵 P,位置信息被保留下来——检索时就知道“这个内容在页面的左上角还是右下角”。
查询编码流程:把问题拆成线索
目击者不会只说一句“我要找穿红裙、短发、背黑色双肩包的人”这种整段描述,她的话可以被拆成“红色”“短发”“背包”这样的独立线索。ColPali 也这样做:查询文本不是被压成一个大向量,而是被语言模型拆成多个 token 向量。每个 token 向量代表查询的一个“侧面”——可能是一个关键词,也可能是一个语义片段。
这样做的好处是:答案只要满足“红色”和“短发”,就算“背包”这条线索在画面上找不到,前两条线索的证据也能被保留下来。如果一开始就把整句话压成一个向量再和页面比对,“红色”的贡献会被“背包”的缺失稀释,检索结果容易失真。查询编码流程把问题文本映射成一个向量集合,保持 token 粒度,为后面的精细比对打基础。
线索登记完毕后,保安开始行动:他拿着“红色”这条线索,在墙上所有小格子里扫视,找最像的那一格;再拿“短发”扫一遍……这正是接下来要讲的晚期交互机制。
- Token 化查询文本先被切分成 token(可以是词、子词或语义片段)。
- 逐 token 编码语言模型把每个 token 映射成 D 维向量,含义是“这条线索的语义指纹”。
- 集合形式查询表示为一个 T 行的矩阵 Q,每一行对应一条线索,行与行之间相互独立。
晚期交互机制:先粗找再精对
现在,保安手里有一沓线索卡,墙上是一格子一格子的画面。怎么判断“这面墙(这一页文档)是不是目击者要找的场景”?ColPali 采用的方法叫晚期交互(Late Interaction):每条线索卡先独立在墙上扫一圈,找到与自己最像的那一格,记录下“最像程度”;然后把所有线索卡的结果加起来,得到整面墙与整个查询的相关度。
这样做既不像单向量双编码那样把线索过早合并(容易互相稀释),也不像 Cross-Encoder 那样要等查询来了才能逐对计算(文档侧无法离线准备)。查询与文档各自编码完成后,最后的交互只发生在打分那一刻——又快又保留了细节。数学上,这个交互过程如下:
回到保安的例子:max 是“每条线索自己选最亮格”,sum 是“把各线索的结论汇总成最终判断”。正是这种“先分头找、最后汇总”的机制,让“红色”“短发”“背包”三条证据都能充分发声,而不会被提前平均成一句含糊的“好像有点像”。
- 内积相似度\langle q_i, p_j \rangle 表示第 i 条查询线索与第 j 个图像块的内积,内积越大代表两者语义越接近。
- 对文档侧取最大\max_{j=1}^{N} 的含义是:固定一条线索 i,在 N 个图像块中找出内积最大的那一个。这一步模拟保安“扫视全场,找最像的格子”。
- 对查询侧求和\sum_{i=1}^{T} 把 T 条线索各自的最佳匹配得分加总,得到页面与查询的总体相似度。
ColQwen增强:视觉之外的文字暗号
ColPali 的视觉检索已经很强,但有一类情况它依然头疼:查询里出现“MS-2024-0117“这样的编号、”ACE2受体“这种必须逐字母精确匹配的专有名词,或者公式里的”β-羟丁酸“——这些单词外观差异极小,纯靠视觉特征去模糊比对很容易认错。想象保安在监控里找一辆车牌号”京A·12345“的车,他不能靠”这牌子大概像什么”来决定,必须逐字符精确比对。
ColQwen 在 ColPali 的基础上补上了这一环:它在稠密向量(dense,捕捉视觉语义的 patch 向量)之外,还同时输出一组稀疏词汇向量(sparse,相当于对每个视觉 patch 统计它“看起来像哪个词”的词汇表命中信号)。打分时,稠密部分负责“这格画面像不像红色、像不像短发”,稀疏部分负责“这格画面里有没有出现'ACE2'这个精确字符串”,两者加权融合。
这就像保安在“看形象”之外多了一本对讲机频道:遇到车牌、工号这类需要逐字核对的线索,直接读出精确字符,而不是靠模糊的视觉印象猜。ColQwen 借助 Qwen2-VL 的视觉语言基础,把“看”和“读”结合起来,让多模态检索在专业文档上更稳。
- 稠密相似度S_dense 来自 ColPali 风格的晚期间交互打分,衡量视觉语义层面的整体匹配度。
- 稀疏相似度S_sparse 衡量查询中的精确词(如编号、专有名词)在文档 patch 中是否出现,词命中多则分数高。
- 加权融合λ 平衡两种信号的贡献。视觉看不准、但文字上必须精确的场景,需要调大 λ。
应用场景:三个真实现场
“看图找人”这套方法在真实世界里早已不止抓坏人——凡是要从大量版面复杂的 PDF 里找信息的场景,它都能派上用场。
第一个现场是政策评估。政策文件动辄上百页,关键指标往往藏在表格、框架图和小字号脚注里。以往分析师要先 OCR、再手工校对表格错位,非常痛苦。用视觉文档检索,提问“2024 年碳减排目标在哪个章节、依据什么数据”,模型直接检索页面图像,找到含目标图表的那一页,连图带表一起交给 LLM 生成答案。第二个现场是医学研究。论文里的生存曲线、森林图、亚组分析表,都是纯 OCR 的“火力盲区”,而临床医生最关心的恰恰是这些图表的趋势。视觉检索把论文页面当作图像索引,让“5 年生存率对比曲线”这类问题可以直接命中对应图表页。第三个现场是商业决策。券商分析师要在一千份财报里找“毛利率持续上升的公司”,传统管道会被图表和彩色标注干扰,多模态 RAG 则能稳定地按视觉线索定位到相关页面。
衡量这种检索效果的常用指标是 Recall@k:在返回前 k 页里,能找到多少真正相关的页面。它回答的核心问题是——真正有用的页面会不会被漏掉。
三个现场有一个共同点:问题要的答案藏在图、表、版式这些“非纯文字”信息里。多模态 RAG 把这类文档从“让人工先转述”变成“让 AI 直接看”,省下的人力与误差相当可观。
- 相关页面集合R_rel 是人工标注的、真正包含答案的页面集合。
- Top-k 结果R_topk 是模型按得分从高到低返回的前 k 个页面。
- 交集与比值两者交集的大小除以相关页面总数,得到“前 k 页里包含了多少比例的真相关页面”。
实践与展望:成本、边界与未来
把视觉文档检索系统真正部署到生产环境,还要算一笔工程账。好消息是:文档索引可以离线预计算一次,之后反复使用。这就像保安上岗前,先花一整晚把监控墙的每张照片都切成格子、标好特征、归档到册子;等真有人来报案时,他只管查册子就行,不用重新看视频。
不过也要认清边界。第一,patch 数量越多、分辨率越高,索引占用的内存和显存越大,需要权衡精度与成本。第二,检索到的页面图像最终还要交给生成模型去“阅读和理解”,如果生成阶段模型看不懂复杂图表,检索再准也白搭。第三,对于纯文本、无版式的电子书或 README 这类文档,传统文本 RAG 仍然更轻量高效,不必杀鸡用牛刀。未来,更高效的 patch 编码、更聪明的稀疏词汇信号、以及与 Agent 工具调用的深度整合,会让“让 AI 直接看文档”成为各类知识密集型应用的默认选项——毕竟,人类读 PDF 时靠的也不只是文字。
- 离线编码Encode 表示调用视觉语言模型对每页图像进行一次性特征提取。
- 索引存储编码结果以矩阵形式落入向量数据库,供检索阶段快速取用。
- 查询期轻量计算用户提问时只需编码查询,与预先算好的索引做晚期交互打分。
AI 应用场景
政策评估与监管合规
阶段:文档召回(Retrieval Stage)
解决的问题:政策文件大多是多栏排版、含大量框架图和指标表格的 PDF。传统方式先 OCR 再建文本索引,表格结构在 OCR 后经常错位,图表里的可视化指标根本无法召回,导致“找得到文字、找不到数据依据”。多模态 RAG 直接把政策页面渲染成图像,用 ColQwen 这类视觉检索模型做索引,图、表、正文一视同仁地被 patch 向量覆盖,提问“2024 年碳减排目标对应的数据和出处”可以直接命中含目标图表的页面。
具体案例:某政策评估团队需要在一批省级 “双碳” 政策文件中找出所有设定量化减排目标的条款。接入视觉文档检索后,系统对 200 份 PDF 页面做离线索引,分析员只需自然语言提问,就能秒级定位到目标出现在第几页、周围有哪些配套图表,再交由 LLM 汇总成对比报告。
医学文献图表问答
阶段:检索增强生成(RAG + LLM 回答)
解决的问题:医学论文的核心证据往往以生存曲线、森林图、Kaplan-Meier 图等形式呈现,OCR 只能提取图注文字,无法理解曲线走向。多模态 RAG 把论文页面当作图像整体索引,让“哪些文献的 5 年生存率超过 60%?”这类视觉语义问题能被完整回答。
具体案例:临床研究团队构建了一个包含 500 篇肿瘤学论文的私有知识库,使用 ColPali 对 PDF 页面建索引,医生提问“比较各治疗方案的无进展生存期曲线”,系统检索到相关论文页面,将曲线图和表格图像连同上下文一起交给多模态 LLM,生成带证据出处的对比结论。
商业财报趋势分析
阶段:多模态检索 + 结构化问答
解决的问题:上市公司财报包含大量趋势图、柱状图和管理层讨论框,传统 RAG 管道在图表面前几乎失效。多模态 RAG 直接处理财报页面图像,保留图表的空间视觉信息,使“哪家公司近三年毛利率持续上升”这类需要看图的问询,能以页面为单位被快速召回。
具体案例:投研部门的智能助手接入视觉文档检索后,分析师将 300 份年报 PDF 一次性建索引,系统针对“营收增长最快但现金流为负的公司”这类组合条件,一次检索就能召回相关页面,再结合数据表生成分析摘要,单次调研时间从半天压缩到十几分钟。
Python 演示
import numpy as np DIM = 64 def build_page(n_patches, seed, hot=None): """生成一页文档图像对应的 patch 向量集合。""" rng = np.random.RandomState(seed) patches = rng.randn(n_patches, DIM).astype(np.float32) if hot: for pos, vec in hot: noise = np.random.RandomState(pos + seed).randn(DIM).astype(np.float32) patches[pos] = vec * 1.5 + noise * 0.2 return patches class LateInteractionRetriever: """ColPali 风格检索器:查询线索向量集合 vs 页面 patch 向量集合。""" def _cosine(self, a, b): return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b) + 1e-9) def score(self, query_vecs, page_patches): total = 0.0 for qv in query_vecs: best = max(self._cosine(qv, pv) for pv in page_patches) total += best return total def main(): rng = np.random.RandomState(7) query_vecs = [rng.randn(DIM).astype(np.float32) for _ in range(2)] pages = { "财报页面": build_page(20, 1, hot=[(5, query_vecs[0]), (12, query_vecs[1])]), "医学论文页": build_page(20, 2), "政策文件页": build_page(20, 3), } retriever = LateInteractionRetriever() ranked = sorted( pages.items(), key=lambda kv: retriever.score(query_vecs, kv[1]), reverse=True, ) for name, _ in ranked: print(f"{name}: {retriever.score(query_vecs, pages[name]):.4f}") print("最相关页面:", ranked[0][0]) if __name__ == "__main__": main()
query_vecs = [rng.randn(DIM).astype(np.float32) for _ in range(2)]模拟目击者的两条视觉线索(如“红色”“短发”),每条线索是一个 64 维向量。"财报页面": build_page(20, 1, hot=[(5, query_vecs[0]), (12, query_vecs[1])])人为让财报页的第 5、12 个 patch 分别与两条线索向量高度相似,模拟“页面上刚好有线索点亮的图像块”。def _cosine(self, a, b):计算两个向量的余弦相似度,是“这条线索与这个图像块有多像”的基本度量。best = max(self._cosine(qv, pv) for pv in page_patches)晚期交互中的 max:一条线索扫过全部 patch,只取最匹配的那一个。total += best晚期交互中的 sum:把每条线索的最强匹配累加,得到整页与查询的相关度。ranked = sorted(pages.items(), key=lambda kv: retriever.score(query_vecs, kv[1]), reverse=True)对所有页面按总分从高到低排序,得到检索结果排名。print("最相关页面:", ranked[0][0])输出得分最高、最可能包含答案的页面名称。
常见误区
误区“多模态的意思就是又跑一遍 OCR,把文字和图片都喂给一个大模型呗?”
正解视觉文档检索的核心恰恰是不做独立 OCR。ColPali/ColQwen 直接把整页图像切块编码,文字、图表、版式在同一个视觉表示里天然融合。OCR 一旦先执行,就会把图像压缩成文字流,丢失的空间关系找不回来。这就像让速记员先抄一遍再让保安看文字——抄的时候视觉信息已经没了。正确做法是让保安直接看照片,用视觉路径理解所有内容。
为何常见:很多人接触过“图片 + 文字的混合输入”的 VQA 模型,于是误以为多模态 RAG 只是把 OCR 文本和图片拼在一起输入,忽略了“不做 OCR、页面图像直接作为检索单元”这一关键差异。
误区“页面图像的向量表示不就是整张图 embed 成一个向量吗?那和传统文本 embedding 也没本质区别,只是输入换了。”
正解ColPali 的输出是 N 个 patch 向量,不是一个向量。晚期交互之所以有用,正是因为它保留了 patch 粒度:每条查询线索可以定位到“这一页的哪个区域最相关”。如果把整页压成单向量,就退化成“整页整体像不像”,既无法精确比对局部(比如某个图表),也无法解释检索依据。
为何常见:经典的文本双编码检索(如 Sentence-BERT)通常把整段文字压成一个向量,人们习惯性地把这种“句子级向量”模式套用到视觉文档上,忽略了图像天然适合做 patch 级细粒度表示。
误区“我的 PDF 是电子版,文字可以正常复制,不需要 OCR,所以也不需要视觉检索。”
正解扫描件只是视觉检索的一个应用场景,更核心的价值在于保留图表、公式、表格、多栏排版这些视觉语义。即使 PDF 有原生文本层,传统管道还是会把折线图“弄丢”、把合并表格“抄乱”。视觉检索把页面当作图像整体理解,让非文字信息同样可被检索和问答。就像监控视频即使有文字转写,保安仍然需要看画面才能判断“人群里谁背包”。
为何常见:OCR 管道给人最深的印象是“识别扫描字”,所以不少人把视觉检索等同于“更好的 OCR”,而忽略了它处理的对象是版面整体而非文字流。
误区“既然视觉检索这么强,所有文档都该换成页面图像方案,文本 RAG 可以淘汰了。”
正解在纯文本、无复杂版式的场景(如 README、API 文档、清洗过的电子书),传统文本 RAG 更轻量、更快、显存占用更低,效果也足够好。视觉检索的胜场在于图表、公式、复杂排版的专业文档。此外,视觉检索召回的是页面图像,最终生成答案时仍需要多模态 LLM 阅读图像;如果生成端能力不足,检索端再准也无济于事。
为何常见:看到论文 Benchmark 里视觉方案全面领先,容易忽略这些基准大多由含图表、复杂版面的专业文档构成。实际系统设计应该按文档类型做路由,让合适的工具干合适的活。
面试题
Q1. ColPali 检索 PDF 时,输入给模型的核心数据是什么?
- A.OCR 提取出的纯文本
- B.PDF 每页渲染成的图像← 正确答案
- C.PDF 的矢量文字指令
- D.页码与章节的元数据
答案:B。ColPali 直接把每页 PDF 渲染成图像作为输入,绕过 OCR 预处理。A 是传统文本 RAG 的输入,C 和 D 都是辅助信息而非核心输入。就像保安看监控照片而不是看速记员的文字描述。
Q2. “Patch 级别嵌入”中的 Patch 指的是?
- A.把页面图像按栏目切分
- B.把页面图像切成规则小方块← 正确答案
- C.把查询文本按词切分
- D.把整页压缩成一个向量
答案:B。Patch 是视觉 Transformer 把图像均匀切成的规则小方块,每个方块独立编码。它服务于“细粒度视觉定位”,不是按语义栏目切分,也不是文本分词,更不是整页压缩。
Q3. 晚期交互计算中,Max 操作起到什么作用?
- A.限制查询 token 的数量
- B.取最匹配图像块的相似度← 正确答案
- C.对所有查询 token 取平均
- D.把图像 patch 数量减半
答案:B。\max_{j} \langle q_i, p_j \rangle 的含义是:对每一条查询线索 q_i,在所有图像块中挑相似度最高的那个,代表“这条线索在页面上最亮的一格”。它保留最强证据而不是平均或削减。
Q4. 传统 OCR 预处理在哪些场景会丢失关键信息?
- A.折线图的走向与斜率← 正确答案
- B.表格单元格的合并关系← 正确答案
- C.公式中上下标的结构← 正确答案
- D.字体颜色等视觉层次← 正确答案
答案:ABCD。OCR 只输出文字流,折线图没有“字”可抄因此整段丢失;表格合并关系在文本流里塌缩成乱序;公式上下标变成平铺符号;字体颜色、字号层次更无从体现。四个选项都是视觉信息丢失的典型场景。
Q5. ColQwen 相对 ColPali 的核心增强是?
- A.增加了更大的模型参数量
- B.融合词汇稀疏匹配信号← 正确答案
- C.改用纯文本编码器
- D.直接去掉视觉编码器
答案:B。ColQwen 在稠密 patch 向量之外增加稀疏词汇向量,专门处理编号、专有名词等需要精确匹配的信号。参数量增大只是伴生现象,不是核心设计目标;C 和 D 与视觉检索方向相反。
Q6. 与 Cross-Encoder 逐对打分相比,晚期交互的主要优势是什么?
- A.文档向量可离线预计算索引← 正确答案
- B.完全不需要语言模型参与
- C.准确率保证一定更高
- D.只支持纯文本文档
答案:A。晚期交互是双编码结构,文档 patch 向量可以离线算好存进索引,查询时只需编码查询并做轻量打分。Cross-Encoder 每次都要把查询和文档拼在一起重新计算,无法预索引。准确率不一定更高,它需要语言模型参与,也支持多模态输入。
Q7. 哪些场景下视觉文档检索比 OCR 管道更有优势?
- A.含大量图表和公式的论文版面← 正确答案
- B.手写体扫描件的老旧档案← 正确答案
- C.复杂多栏带悬浮图片的杂志页← 正确答案
- D.纯文本无格式的 README 文件
答案:ABC。图表公式、复杂多栏、手写扫描件都是 OCR 容易丢信息或误识别的高难场景;纯文本 README 没有版面视觉信息,传统文本 RAG 已足够且更轻量,视觉方案反而不划算。
Q8. 为什么查询编码器与文档编码器解耦(双编码)?
- A.为了预计算文档索引快速检索← 正确答案
- B.为了减少训练数据量
- C.为了消除文档中的视觉信息
- D.为了处理多语言混合场景
答案:A。双编码让文档侧可以离线一次性编码、反复使用,查询侧只编码当前问题,检索延迟大幅降低。这与减少数据、消除视觉信息、多语言没有直接关系。相当于保安提前把监控墙照片归档成册,报案时只管查册。
Q9. ColPali 的组成部分通常包括哪些?
- A.视觉编码器如 SigLIP/ViT← 正确答案
- B.语言模型如 Gemma 生成器← 正确答案
- C.Patch 级嵌入的输出层← 正确答案
- D.外部的 OCR 文字服务
答案:ABC。ColPali 由视觉编码器(眼睛)、语言模型(大脑)和 patch 级嵌入输出组成,是一个端到端的视觉文档编码器。它刻意去掉了外部 OCR 服务,避免文字转录带来的信息损失。
Q10. 多模态 RAG 中“页面图像直接输入”的最大工程收益是什么?
- A.无需维护 OCR 与版面解析管道← 正确答案
- B.显著降低 GPU 显存的需求
- C.大幅减少训练数据的规模
- D.完全消除模型的幻觉问题
答案:A。传统方案要串联 OCR、版面分析、表格解析等多个模块,每层都会累积误差。页面图像直接输入把整条管道压缩成“渲染 + 编码 + 检索”三步,工程维护成本显著降低。它不会减少显存占用,也不直接解决幻觉。