首页 > 教程攻略 > ai资讯 >如何选择合适的 Embedding 模型?

如何选择合适的 Embedding 模型?

来源:互联网 时间:2026-08-13 14:10:07

检索增强生成(RAG)是生成式 AI 领域里一类相当实用的应用——它允许你用自己手里的数据,来扩充像 ChatGPT 这样的 LLM 模型的知识库。换句话说,它让大模型不再只是“背书机器”,而是能真正结合你的业务数据给出回答。

如何选择合适的 Embedding 模型?

一套典型的 RAG 系统会用到三种不同的 AI 模型:Embedding 模型、Reranker 模型,以及大语言模型。这篇文章就专门聊聊——怎么根据你的数据类型、语言或特定领域(比如法律)来挑一个合适的 Embedding 模型。

1 文本数据:MTEB 排行榜

如果你处理的是纯文本数据,HuggingFace 上的

MTEB 排行榜

是一个很好的参考入口。它像一个一站式的文本 Embedding 模型榜单,你可以直接看到每个模型的平均性能。

具体怎么用?把“Retrieval A verage”列按降序排列——这个指标最契合向量检索的场景。然后,在排名靠前的模型里,挑一个内存占用最小的。这时候有两个关键参数需要关注:

  • Embedding 向量维度

    :也就是输出向量 y 的长度,模型最终会输出这个维度的向量。
  • 最大 Token 数

    :即输入文本块的长度 x,超过这个长度的文本会被截断或拆分。

除了按检索任务排序,你还可以进一步筛选:

  • 语言

    :支持法语、英语、中文、波兰语等(例如设置 task=retrieval, Language=chinese)。
  • 领域

    :比如法律文本(例如设置 task=retrieval, Language=law)。

需要留个心眼:部分训练数据最近才公开,导致 MTEB 上有些模型看起来排名很高,实际表现却可能“虚高”。HuggingFace 专门发过一篇博客,教你怎么判断模型排名是否可信。点击模型卡片后,注意两点:

  • 找找有没有解释模型训练和评估过程的博客或论文,仔细看看它训练时用了什么语言、什么数据、什么任务。
  • 优先选知名公司发布的模型。比如 voyage-lite-02-instruct 这个模型卡片上,列出了 VoyageAI 的其他模型,唯独没有这个——这其实是个危险信号:它很可能是一个过度拟合的模型,不推荐使用。

举个例子,截图里我试了 Snowflake 的新模型 "snowflake-arctic-embed-1",因为它排名靠前、体积小到能在笔记本上跑,而且模型卡片上附了博客和论文的链接,可信度很高。

用 HuggingFace 的好处是,选好模型后万一想换,代码里只要改一行 model_name 就行:

import torch
from sentence_transformers import SentenceTransformer

# Initialize torch settings
torch.backends.cudnn.deterministic = True
DEVICE = torch.device('cuda:3' if torch.cuda.is_a vailable() else 'cpu')

# Load the model from huggingface.
model_name = "WhereIsAI/UAE-Large-V1"  # Just change model_name to use a different model!
encoder = SentenceTransformer(model_name, device=DEVICE)

# Get the model parameters and sa ve for later.
EMBEDDING_DIM = encoder.get_sentence_embedding_dimension()
MAX_SEQ_LENGTH_IN_TOKENS = encoder.get_max_seq_length()

# Print model parameters.
print(f"model_name: {model_name}")
print(f"EMBEDDING_DIM: {EMBEDDING_DIM}")
print(f"MAX_SEQ_LENGTH: {MAX_SEQ_LENGTH_IN_TOKENS}")

2 图像数据:ResNet50

有时候你想搜一张和输入图像相似的图片——比如想找更多苏格兰折耳猫的照片,那么上传一张苏格兰折耳猫的图片,搜索引擎就能帮你找到类似的。这种场景下,

ResNet50

是经典的 CNN 模型,由微软在 2015 年用 ImageNet 数据训练出来的。

对于视频搜索也一样:ResNet50 可以把视频帧转换成 Embedding 向量,然后做相似性搜索,把最相似的视频帧对应回原始视频返回给用户。

3 音频数据:PANNs

音频搜索的逻辑和以图搜图类似——给定一段音频片段,希望能找到相似的音频。常用的模型是

PANNs

(预训练音频神经网络),因为它基于大规模音频数据集预训练,在音频分类和标记等任务上表现出色。

4 多模态图像与文本数据:SigLIP 或 Unum

近几年出现了一批能同时处理文本、图像、音频甚至视频的 Embedding 模型。这些模型把多种非结构化数据映射到同一个向量空间里,让你可以:用文本搜图像、用图像生成文本描述、或者以图搜图。

OpenAI 在 2021 年推出的

CLIP

是这类模型的标杆。不过它有个麻烦——需要自己微调,用起来门槛较高。到了 2024 年,谷歌推出了

SigLIP

(Sigmoidal-CLIP),在 zero-shot prompt 下表现不错,大大降低了使用成本。

同时,小型 LLM 越来越流行——它们不需要大型云计算集群,在笔记本电脑上就能跑。小模型占用内存少、延迟低、速度更快。

Unum

就提供了这样的小型多模态 Embedding 模型。

5 多模态文本、音频、视频数据

如果要做多模态文本-音频的 RAG 系统,通常的思路是先用多模态生成型 LLM 把声音转成文本,生成声音-文本对,然后把文本向量化。检索时仍然像常规 RAG 一样搜文本,最后一步再把文本映射回音频。OpenAI 的

Whisper

负责语音转文字,

Text-to-speech (TTS)

模型负责文字转语音。

文本-视频的多模态 RAG 思路类似:先把视频映射成文本描述,转成 Embedding 向量,搜索时命中的文本再映射回对应的视频片段。OpenAI 的

Sora

可以按文本提示生成视频,也能用静态图像或其他视频生成新视频——就像 Dall-e 生成图片一样。