这道题其实是在问,当[[RAG]]要处理的不只是文字,还有图片、视频、音频这些非文本数据时,整个系统该怎么设计。本质上是把RAG从纯文本的舒适区拉出来,让它能理解[[多模态]]信息。
先讲核心差异。传统RAG的检索阶段,就是把用户query和文档库都转成文本向量,然后做相似度匹配。但多模态RAG不一样,它的query可能是图片,文档库也可能是视频。所以检索的关键变成了跨模态对齐,比如用[[CLIP]]这样的模型把图像和文本映射到同一个向量空间,这样你拿一张图去搜,也能搜到相关的文字描述。生成阶段也一样,传统RAG只把检索到的文本拼给大模型,多模态RAG需要把图片、视频帧也转成token序列,和文本一起喂给模型,让模型真正“看懂”这些内容。
这里有个坑,就是模态对齐很难完美。举个例子,一张产品瑕疵图,如果光搜图,可能搜到一堆相似外观但没问题的图片,但加上文字描述“划痕”才能精准定位。所以实际落地时,我倾向于用[[Hybrid Search]],把文本和视觉特征结合起来检索,而不是只靠单一模态。
技术挑战主要有三个。第一是数据处理,图片要[[OCR]]或目标检测,视频要抽关键帧,预处理链路很重。第二就是刚才说的模态对齐,图文语义可能不对齐,比如一张产品图配的文案是营销话术,直接拼接会引入噪声。第三是上下文长度,一帧高清图可能顶几百个token,多帧视频更夸张,容易触发[[KV Cache]]瓶颈。
业务场景很典型。比如电商客服,用户上传一张商品破损的照片,系统能检索到类似案例的图片和解决方案文本,然后生成回复,比纯文本RAG准确得多。医疗诊断也是,CT影像加病历文本一起检索,辅助医生写报告。工业质检里,视频流的关键帧检索可以快速定位历史故障记录。
不过这类系统落地有个前提:数据质量必须够高。如果图片模糊、标注不准,模态对齐会崩,生成结果反而更差。所以我做项目时,会先花精力做数据清洗和模态对齐的评估,而不是一上来就搭检索框架。
最后说我的判断。我会把多模态RAG看成传统RAG的扩展,而不是替代。如果业务场景里80%的query是纯文本,那传统RAG加一个图片解析模块就够了,没必要上全模态。只有当query和文档都是多模态时,才值得投入跨模态对齐。所以我会先评估业务的数据分布和query类型,再决定用哪种方案。