前言
rag的时候,Embedding如何选,一般情况都是能力+成本的综合评估,我一般选择,看排行榜(重点关注的哪项能力),然后再看部署成本。一般看mteb的评估即可。
https://huggingface.co/spaces/mteb/leaderboard
MTEB 评估(Massive Text Embedding Benchmark)
这是目前最权威、最广泛使用的 embedding 评估基准,由 Hugging Face 和一批研究人员发起,旨在全面衡量嵌入模型在不同下游任务中的泛化能力。包含 8 大类、58 个任务。具体的分类和任务我们不做讨论。
我们看下embedding 模型应当具备的能力
能力 | 相关任务 | 对应意义 |
语义表征能力 | STS、分类 | 是否能准确理解句子含义 |
检索能力 | 检索、Rerank | 是否能找到语义上相似的句子 |
多语言泛化能力 | 跨语言检索 | 不同语言之间语义是否对齐,英文搜索中文 |
聚类/结构能力 | Clustering | embedding 空间是否语义组织良好 |
迁移泛化能力 | MTEB 全面任务 | 是否在多个任务/数据集上都有效 |
在qwen3-Embedding 0.6b没有出来之前,同规格下,bge-m3还是不错的。
我把表格数据下载下来,丢给chatgpt,让它综合评估了下。
BGE-m3 适用场景和不推荐使用场景
Qwen3 Eembedding亮点
Qwen3 Eembedding基于 Qwen3 系列的密集基础模型,所以它天然的继承了qwen3的多语言能力、长文本理解和推理能力。它提供了各种大小(0.6B、4B 和 8B)的全面文本嵌入和重新排序模型。
- • 卓越的多功能性:嵌入模型在广泛的下游应用评估中取得了最先进的性能。8B 大小的嵌入模型在 MTEB 多语言排行榜上排名第 1(截至2025年6月5日,得分为 70.58),而重排序模型在各种文本检索场景中表现出色。
- • 全面的灵活性:Qwen3 Embedding 系列为嵌入和重排序模型提供了从 0.6B 到 8B 的全尺寸范围,适用于重视效率和效果的各种使用场景。开发者可以无缝地结合这两个模块。此外,嵌入模型允许在所有维度上
灵活定义向量
,并且嵌入和重排序模型都支持用户定义的指令,以增强特定任务、语言或场景的性能。 - • 多语言能力:得益于 Qwen3 模型的多语言能力,Qwen3 Embedding 系列支持超过 100 种语言。这包括各种编程语言,并提供了强大的多语言、跨语言和代码检索能力。
- •
MRL 支持
表示嵌入模型是否支持自定义最终嵌入的维度。
- •
指令感知
表示嵌入或重排序模型是否支持根据不同任务定制输入指令。
通过数据可以看到Qwen3-embedding模型上下文长度为32k,嵌入维度可以灵活自定义。
我也让chatgpt基于mteb评测数据综合评估下qwen3-Embedding
不管是通过官方的介绍,还是chatgpt、deepseek通过评测数据,qwen3-embedding确实强。怎么选?
部署
ollama上还没有这个模型,怎么部署?
在魔塔社区,有对应的GGUF模型。
根据自己的需求选一个即可,我选1.2GB大小的模型。
然后创建一个Modelfile,内容如下
FROM ./Qwen3-Embedding-0.6B-f16.gguf PARAMETER num_ctx 32768
TEMPLATE """{{ .Prompt }}"""
SYSTEM """Text embedding model. Outputs a vector based on input text."""
curl http://127.0.0.1:11434/api/embeddings -d "{\"model\": \"qwen3-embedding:0.6b\", \"prompt\": \"你好,世界\", \"options\": {\"embedding_dim\": 256}}"
至于效果,后续实际测试下