Skip to content
🔗 分享本题
查看我的学习进度 →
多模态 Embedding 图文共享向量空间图解

🧠 图解记忆: 共享向量空间负责跨模态“找得到”,OCR、版面解析与重排负责把细节“找得准”。

💡 答案要点

发布背景:

2026年4月9日,Sentence Transformers 发布 v5.4 版本,核心更新是多模态 Embedding 和 Reranker——用同一套 API 同时处理文本、图像、音频、视频,实现真正的跨模态 RAG。

核心能力:

能力传统方案Sentence Transformers v5.4
Embedding仅文本文本+图像+音频+视频,同一空间
Reranker仅文本对混合模态文档对评分
API多套统一 API,一行代码

支持的输入类型:

python
from sentence_transformers import SentenceTransformer

model = SentenceTransformer('Qwen3-VL-2B')

# 文本 Embedding
text_emb = model.encode("什么是 RAG")

# 图像 Embedding
image_emb = model.encode(Image.fromuri("photo.jpg"))

# 音频 Embedding
audio_emb = model.encode(Audio.fromuri("recording.mp3"))

# 视频 Embedding
video_emb = model.encode(Video.fromuri("clip.mp4"))

# 跨模态相似度
score = text_emb @ image_emb.T  # 文本查询 vs 图像文档

多模态 RAG 实战:

python
# 1. 构建多模态知识库
documents = [
    {"type": "text", "content": "产品说明书文本"},
    {"type": "image", "content": "产品图片"},
    {"type": "text+image", "content": "图文混合文档"},
]

# 2. 编码入库
texts = [d["content"] for d in documents if d["type"] == "text"]
images = [d["content"] for d in documents if d["type"] == "image"]

text_vectors = model.encode(texts)
image_vectors = model.encode(images)

# 3. 跨模态检索
query_vec = model.encode("这个产品的外观是什么样的")
scores = query_vec @ image_vectors.T  # 文本 Query → 图像检索

# 4. Rerank
reranker = SentenceTransformer('cross-encoder')
scores = reranker.predict([(query, doc) for doc in documents])

适用场景:

场景说明
图文混合检索用户问"这种药的外观",检索产品图
以图搜文用户上传截图,找相关文档说明
视频问答"这个操作演示在哪里",定位视频片段
音频检索"会议里谁说了这个词",定位音频片段

与 CLIP 的区别:

维度CLIPSentence Transformers v5.4
训练目标图文对比多模态语义理解
任务类型图文匹配检索+Rerank+分类
RAG 集成需单独接 LLM原生支持 RAG 流程
文本能力强(基于 Qwen3-VL)

面试话术:

"Sentence Transformers v5.4 的核心突破是'一个模型处理所有模态'。以前做多模态 RAG 需要 CLIP 处理图像、单独模型处理文本,检索还要单独接 reranker,现在一个 API 全搞定。用 Qwen3-VL 作为底座,文本和视觉理解都很强,RAG 的检索精度比纯 CLIP 方案提升明显。对于面试,能说出'跨模态 Embedding 统一向量空间 + Rerank'的架构,说明你对 RAG 系统有工程化视角。"