

我们正式发布 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)。在 2.39 亿参数规模下,nano 模型在检索质量上媲美参数量为其两倍的模型。
与我们前几代产品相比: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 上达到 67.0 分(基于 9 类任务共 131 个任务的平均值),超过了排名第二的 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(6 亿参数,排名第 8)是 MTEB Multilingual v2 排行榜上最强的 10 亿参数以下向量模型,在各项指标上均优于 Qwen3-Embedding-0.6b。jina-embeddings-v5-nano(2 亿参数,排名第 11)以极小的体积实现了顶尖的性能,在该参数级别中没有其他模型可以匹敌。tag架构

v5-text 使用仅解码器(decoder-only)骨干网络,并采用尾词元池化(last-token pooling)而非均值池化(mean pooling)。每个 Transformer 层中嵌入了 4 个轻量级 LoRA 适配器,分别处理检索、文本匹配、分类和聚类任务。用户在推理时选择合适的适配器即可。对于检索任务,查询语句添加 “Query:” 前缀,文档添加 “Document:” 前缀。small 版本的上下文长度为 32K 词元(nano 为 8K),相较 v3 提升了 4 倍。
tag入门指南
tag弹性推理服务(Elastic Inference Service)
这是在生产环境中使用 v5-text 最快捷的方式。弹性推理服务(EIS)提供托管式向量推理,内置扩展功能,无需管理基础设施即可在 Elastic 部署中直接生成向量。
PUT _inference/text_embedding/jina-v5
{
"service": "elastic",
"service_settings": {
"model_id": "jina-embeddings-v5-text-small"
}
}
请参阅 EIS 文档了解设置详情。
tagJina 向量 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 Key。
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结论
向量模型正越来越多地作为大型系统中的工具链组件被使用。大模型智能体(LLM agents)将调用向量 API 进行检索、记忆和分类,作为智能体工作流的一部分。OpenClaw 和 OpenViking 等项目将向量视为智能体上下文管理的核心基础设施层,而不是独立的搜索终端。在这种架构下,每次调用的推理成本和延迟与基准测试分数同等重要,紧凑型模型成了自然的选择。
小型向量模型的趋势反映了更广泛的转变。端侧检索、浏览器内搜索和边缘部署都要求模型适应受限的内存预算。Matryoshka 维度支持让单一模型无需重新训练即可同时提供高精度和超快速的近似搜索。结合低至 1-2 位的 GGUF 量化,生产级向量服务的有效内存占用降低了一个数量级。
我们正在研发 jina-embeddings-v5-multimodal,将相同的架构扩展到视觉和跨模态检索。初步结果表明,在不降低文本性能的前提下,将视觉编码器与微调后的文本向量模型对齐是可行的。敬请期待。






