

我们正式发布 jina-embeddings-v5-text,这是我们第五代向量模型系列,进一步拓展了 10 亿参数以下多语言向量模型的质量与效率边界:
- jina-embeddings-v5-text-small(6.77 亿参数):MMTEB 得分 67.0,MTEB 英语得分 71.7
- jina-embeddings-v5-text-nano(2.39 亿参数):MMTEB 得分 65.5,MTEB 英语得分 71.0
该小型模型支持 32K 词元上下文(Nano 模型为 8K)、4 个任务特定的 LoRA 适配器(检索、文本匹配、分类、聚类),以及从 1024 降至 32 维的 Matryoshka 维度截断。Nano 模型在 2.39 亿参数量级下,实现了与两倍参数规模模型同等的检索质量。
与前几代产品相比:v5-text-small 在检索任务上与 jina-embeddings-v4 (38 亿参数) 持平,但体积缩小了 5.6 倍;在所有任务表现上,均优于参数量相近的 jina-embeddings-v3 (5.72 亿参数)。
| 特性 | v5-text-small | v5-text-nano |
|---|---|---|
| 基座模型 | Qwen3-0.6B-Base | EuroBERT-210m |
| 参数量 | 6.77 亿 | 2.39 亿 |
| 向量维度 | 1024 | 768 |
| 上下文长度 | 32,768 | 8,192 |
| 语言支持 | 119 种(Qwen3 词元切分器) | 15+ 种(EuroBERT 词元切分器) |
| 池化方式 | 最后词元(Last-token) | 最后词元(Last-token) |
| LoRA 适配器 | 4 个(检索、文本匹配、分类、聚类) | |
| Matryoshka 维度 | 32-1024 | 32-768 |
| MMTEB 分数 | 67.0 | 65.5 |
| MTEB 英语分数 | 71.7 | 71.0 |
| 许可协议 | CC BY-NC 4.0 |
v5-text-small 在 MMTEB(涵盖 9 类任务共 131 项任务的平均分)上取得了 67.0 分,超过了排名第二的 10 亿参数以下模型(带指令微调的 Qwen3-0.6B,得分为 64.3) 2.7 分。2.39 亿参数的 Nano 模型得分为 65.5,击败了参数量两倍于其的模型。v5-text-small 以 71.7 分(涵盖 7 类任务共 41 项任务的平均分)领先所有 10 亿参数以下多语言模型,紧随其后的是 KaLM-mini-v2.5 (71.3) 和 v5-text-nano (71.0)。2.39 亿参数的 Nano 模型以不到一半的体积与 4.94 亿参数的 KaLM 表现相当。v5-text-small 在 40 亿参数以下模型中,于五项检索基准测试(MTEB Multilingual、MTEB English、RTEB、BEIR 和 LongEmbed)中取得了最高的任务级平均分(63.28),与 jina-embeddings-v4 (38 亿参数,63.62) 基本持平,但体积 缩小了 5.6 倍。
jina-embeddings-v5-small(0.6 亿参数,排名第 8)是 MTEB Multilingual v2 上 10 亿参数以下最强大的向量模型,在各项指标上均优于 Qwen3-Embedding-0.6b。jina-embeddings-v5-nano(0.2 亿参数,排名第 11)以极小的体积提供了前 11 名的性能表现,同等参数规模下无出其右。tag架构

v5-text 使用仅解码器(decoder-only)架构,采用最后词元池化(last-token pooling)而非平均池化。每个 Transformer 层中注入了四个轻量级 LoRA 适配器,分别处理检索、文本匹配、分类和聚类任务。用户在推理时可选择合适的适配器。对于检索任务,查询语句会添加“Query:”前缀,文档则添加“Document:”。上下文长度方面,小模型支持 32K 词元(Nano 模型为 8K),相较 v3 提升了 4 倍。
tag快速入门
tagElastic Inference Service
这是在生产环境中使用 v5-text 最快的方式。Elastic Inference Service (EIS) 提供托管式向量推理服务,具备内置的扩缩容能力,无需管理底层基础设施即可在 Elastic 部署中直接生成向量。
PUT _inference/text_embedding/jina-v5
{
"service": "elastic",
"service_settings": {
"model_id": "jina-embeddings-v5-text-small"
}
}
详细配置请参阅 EIS 文档。
tagJina Embedding API
我们提供的托管 API 服务,采用按词元计费模式。直接支持任务选择、维度截断和批量处理功能,无需 GPU 即可使用。
curl https://api.jina.ai/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "jina-embeddings-v5-text-small",
"task": "retrieval.query",
"dimensions": 1024,
"input": ["What is knowledge distillation?"]
}'
在 jina.ai/embeddings 获取 API 密钥。
tagHugging Face + sentence-transformers
在本地运行,完全掌控推理过程。权重已在 Hugging Face 上发布,并支持开箱即用的 sentence-transformers 集成。
from sentence_transformers import SentenceTransformer
import torch
model = SentenceTransformer(
"jinaai/jina-embeddings-v5-text-small-retrieval",
model_kwargs={"dtype": torch.bfloat16},
)
query_emb = model.encode("What is knowledge distillation?", prompt_name="query")
doc_embs = model.encode(["Knowledge distillation transfers...", "Venus is..."], prompt_name="document")
similarity = model.similarity(query_emb, doc_embs)
tagvLLM
为生产工作负载提供高吞吐量服务。vLLM 原生支持 v5-text,并使用最后一个词元(last-token)池化。
from vllm import LLM
from vllm.config.pooler import PoolerConfig
model = LLM(
model="jinaai/jina-embeddings-v5-text-small-retrieval",
dtype="float16",
runner="pooling",
pooler_config=PoolerConfig(seq_pooling_type="LAST", normalize=True),
)
outputs = model.encode(["Query: climate change impacts"], pooling_task="embed")
为了通过 llama.cpp 和 MLX 进行优化的本地推理,每个任务适配器的 LoRA 权重已被合并到基础模型中,以生成独立的权重文件。这就是为什么你会看到每个任务(检索、文本匹配、分类、聚类)都有独立的存储库——每个存储库都包含完整的合并权重,可直接加载,在推理时没有 LoRA 开销。
tagllama.cpp (GGUF)
在 CPU 或边缘设备上运行量化模型。我们为每个模型提供了 14 种 GGUF 量化变体,从 F16 到 IQ1_S 不等。
llama-server -hf jinaai/jina-embeddings-v5-text-small-retrieval-GGUF:Q4_K_M \
--embedding --pooling last -ub 32768
tagMLX
通过 MLX 在 Apple Silicon 上进行原生推理。所有任务适配器均提供全精度、4 位和 8 位量化版本。
import mlx.core as mx
from tokenizers import Tokenizer
from model import JinaEmbeddingModel
import json
with open("config.json") as f:
config = json.load(f)
model = JinaEmbeddingModel(config)
weights = mx.load("model-4bit.safetensors") # 或 model.safetensors, model-8bit.safetensors
model.load_weights(list(weights.items()))
tokenizer = Tokenizer.from_file("tokenizer.json")
texts = ["Query: What is machine learning?"]
embeddings = model.encode(texts, tokenizer)
从 Hugging Face 下载:jinaai/jina-embeddings-v5-text-small-retrieval-mlx(也可用于文本匹配、分类和聚类适配器)。
tag训练
这两个模型均蒸馏自 Qwen3-Embedding-4B,这是一个训练有素的大型向量模型。Small 变体使用 Qwen3-0.6B-Base 作为其骨干网络,而 Nano 则使用 EuroBERT-210m。我们的训练结合了两种互补的信号:
- 向量模型蒸馏:通过余弦相似度损失函数,从 4B 教师模型中进行蒸馏。学生模型学习逼近教师模型的向量空间,而无需指令风格的 提示词。这对于标注数据稀缺的语言和任务尤其有效。
- 任务特定的对比损失(
InfoNCE):在带有难负样本挖掘(hard negative mining)和批内负样本(in-batch negatives)的标注查询-文档对上进行训练。在冻结蒸馏后的骨干网络后,我们为每个任务类别训练单独的 LoRA 适配器。
我们的消融研究表明,这种组合方法始终优于单一方法。在 MTEB 英语检索任务中,该组合方法达到了 60.1 nDCG@10,而仅使用蒸馏的方法为 58.6,仅使用对比学习的方法为 54.3(基于相同骨干网络)。
我们还在训练过程中应用了 GOR(广义正交正则化),它鼓励向量分量分布更加均匀。这并不会显著提高标准基准测试分数,但它使二进制量化几乎无损,这是内存受限部署的一个关键属性。
训练过程中值得注意的几点观察:
- 蒸馏和对比学习在某些方面是互补的,这超出了我们最初的预期。
- 从我们的混合损失函数中移除任何单一组件都会导致整体性能下降。
- 任务特定的 LoRA 适配器优于多任务训练,且参数开销几乎可以忽略不计。
- GOR 正则化使二进制量化几乎无损,这对部署的重要性远高于全精度带来的微小提升。
tag结论
向量模型正日益作为大型系统中的工具链组件使用。大模型智能体在代理工作流中调用向量模型 API 来进行检索、记忆和分类。OpenClaw 和 OpenViking 等项目将向量模型视为代理上下文管理的核心基础设施层,而非独立的搜索端点。在这种模式下,单次调用的推理成本和延迟与基准测试分数同等重要,因此紧凑型模型成为了自然的选择。
向量模型小型化的趋势反映了一个更广泛的转变。端侧检索、浏览器搜索和边缘部署都要求模型适应受限的内存预算。Matryoshka 维度支持允许单个模型在不进行再训练的情况下,同时服务于高精度搜索和超快速近似搜索。结合低至 1-2 位的 GGUF 量化,生产级向量服务的有效内存占用减少了一个数量级。
我们正在开发 jina-embeddings-v5-multimodal,将相同的架构扩展到视觉和跨模态检索。早期结果表明,将视觉编码器与微调后的文本向量模型对齐是可行的,且不会降低文本性能。敬请期待。






