Views
No views yet
jina-embeddings-v5-text-nano is the fifth generation of Jina AI's multilingual embedding models, released on February 18, 2026. For higher performance at a larger size, see jina-embeddings-v5-text-small.
jina-embeddings-v5-text-nano scores 71.0 average on MTEB English v2 and 65.5 on MMTEB with only 239M parameters, matching or exceeding all other sub-500M embedding models including KaLM-mini-v2.5 (494M) and Gemma-300M (308M). Built on EuroBERT-210M and trained by combining embedding distillation from Qwen3-Embedding-4B with task-specific contrastive losses, it supports multilingual text up to 32K tokens and produces embeddings robust under truncation and binary quantization.| Feature | Value |
|---|---|
| Parameters | 239M |
| Supported Tasks | retrieval, text-matching, clustering, classification |
| Max Sequence Length | 8192 |
| Embedding Dimension | 768 |
| Matryoshka Dimensions | 32, 64, 128, 256, 512, 768 |
| Pooling Strategy | Last-token pooling |
| Base Model | EuroBERT/EuroBERT-210m |
transformers>=4.57.0torch>=2.8.0peft>=0.15.2sentence-transformers interface, install this package as well.1PUT _inference/text_embedding/jina-v5
2{
3 "service": "elastic",
4 "service_settings": {
5 "model_id": "jina-embeddings-v5-text-nano"
6 }
7}1curl https://api.jina.ai/v1/embeddings \
2 -H "Content-Type: application/json" \
3 -H "Authorization: Bearer $JINA_AI_API_TOKEN" \
4 -d @- <<EOFEOF
5 {
6 "model": "jina-embeddings-v5-text-nano",
7 "task": "text-matching",
8 "input": [
9 {
10 "text": "غروب جميل على الشاطئ"
11 },
12 {
13 "text": "海滩上美丽的日落"
14 },
15 {
16 "text": "A beautiful sunset over the beach"
17 },
18 {
19 "text": "Un beau coucher de soleil sur la plage"
20 },
21 {
22 "text": "Ein wunderschöner Sonnenuntergang am Strand"
23 },
24 {
25 "text": "Ένα όμορφο ηλιοβασίλεμα πάνω από την παραλία"
26 },
27 {
28 "text": "समुद्र तट पर एक खूबसूरत सूर्यास्त"
29 },
30 {
31 "text": "Un bellissimo tramonto sulla spiaggia"
32 },
33 {
34 "text": "浜辺に沈む美しい夕日"
35 },
36 {
37 "text": "해변 위로 아름다운 일몰"
38 },
39 {
40 "image": "https://i.ibb.co/nQNGqL0/beach1.jpg"
41 },
42 {
43 "image": "https://i.ibb.co/r5w8hG8/beach2.jpg"
44 }
45 ]
46 }
47EOFEOF1from transformers import AutoModel
2import torch
3
4model = AutoModel.from_pretrained(
5 "jinaai/jina-embeddings-v5-text-nano",
6 trust_remote_code=True,
7 _attn_implementation="flash_attention_2", # Recommended but optional
8 dtype=torch.bfloat16, # Recommended for GPUs
9)
10device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
11model = model.to(device=device)
12
13# Optional: set truncate_dim and max_length in encode() to control embedding size and input length
14
15# ========================
16# 1. Retrieval Task
17# ========================
18# Encode query
19query_embeddings = model.encode(
20 texts=["Overview of climate change impacts on coastal cities"],
21 task="retrieval",
22 prompt_name="query",
23)
24# Encode document
25document_embeddings = model.encode(
26 texts=[
27 "Climate change has led to rising sea levels, increased frequency of extreme weather events..."
28 ],
29 task="retrieval",
30 prompt_name="document",
31)
32
33# ========================
34# 2. Text Matching Task
35# ========================
36texts = [
37 "غروب جميل على الشاطئ", # Arabic
38 "海滩上美丽的日落", # Chinese
39 "Un beau coucher de soleil sur la plage", # French
40 "Ein wunderschöner Sonnenuntergang am Strand", # German
41 "Ένα όμορφο ηλιοβασίλεμα πάνω από την παραλία", # Greek
42 "समुद्र तट पर एक खूबसूरत सूर्यास्त", # Hindi
43 "Un bellissimo tramonto sulla spiaggia", # Italian
44 "浜辺に沈む美しい夕日", # Japanese
45 "해변 위로 아름다운 일몰", # Korean
46]
47text_embeddings = model.encode(texts=texts, task="text-matching")
48
49# ========================
50# 3. Classification Task
51# ========================
52texts = [
53 "My order hasn't arrived yet and it's been two weeks.",
54 "How do I reset my password?",
55 "I'd like a refund for my recent purchase.",
56 "Your product exceeded my expectations. Great job!",
57]
58classification_embeddings = model.encode(texts=texts, task="classification")
59
60# ========================
61# 4. Clustering Task
62# ========================
63texts = [
64 "We propose a novel neural network architecture for image segmentation.",
65 "This paper analyzes the effects of monetary policy on inflation.",
66 "Our method achieves state-of-the-art results on object detection benchmarks.",
67 "We study the relationship between interest rates and housing prices.",
68 "A new attention mechanism is introduced for visual recognition tasks.",
69]
70clustering_embeddings = model.encode(texts=texts, task="clustering")1from sentence_transformers import SentenceTransformer
2import torch
3
4device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
5
6model = SentenceTransformer(
7 "jinaai/jina-embeddings-v5-text-nano",
8 trust_remote_code=True,
9 device=device,
10 model_kwargs={"dtype": torch.bfloat16}, # Recommended for GPUs
11 config_kwargs={"_attn_implementation": "flash_attention_2"}, # Recommended but optional
12)
13
14# Optional: set truncate_dim in encode() to control embedding size
15
16# ========================
17# 1. Retrieval Task
18# ========================
19# Encode query
20query_embeddings = model.encode(
21 sentences=["Overview of climate change impacts on coastal cities"],
22 task="retrieval",
23 prompt_name="query",
24)
25# Encode document
26document_embeddings = model.encode(
27 sentences=[
28 "Climate change has led to rising sea levels, increased frequency of extreme weather events..."
29 ],
30 task="retrieval",
31 prompt_name="document",
32)
33
34# ========================
35# 2. Text Matching Task
36# ========================
37texts = [
38 "غروب جميل على الشاطئ", # Arabic
39 "海滩上美丽的日落", # Chinese
40 "Un beau coucher de soleil sur la plage", # French
41 "Ein wunderschöner Sonnenuntergang am Strand", # German
42 "Ένα όμορφο ηλιοβασίλεμα πάνω από την παραλία", # Greek
43 "समुद्र तट पर एक खूबसूरत सूर्यास्त", # Hindi
44 "Un bellissimo tramonto sulla spiaggia", # Italian
45 "浜辺に沈む美しい夕日", # Japanese
46 "해변 위로 아름다운 일몰", # Korean
47]
48text_embeddings = model.encode(sentences=texts, task="text-matching")
49
50# ========================
51# 3. Classification Task
52# ========================
53texts = [
54 "My order hasn't arrived yet and it's been two weeks.",
55 "How do I reset my password?",
56 "I'd like a refund for my recent purchase.",
57 "Your product exceeded my expectations. Great job!",
58]
59classification_embeddings = model.encode(sentences=texts, task="classification")
60
61# ========================
62# 4. Clustering Task
63# ========================
64texts = [
65 "We propose a novel neural network architecture for image segmentation.",
66 "This paper analyzes the effects of monetary policy on inflation.",
67 "Our method achieves state-of-the-art results on object detection benchmarks.",
68 "We study the relationship between interest rates and housing prices.",
69 "A new attention mechanism is introduced for visual recognition tasks.",
70]
71clustering_embeddings = model.encode(sentences=texts, task="clustering")retrieval, text-matching, classification, clustering).
For each model, the task-specific adapter is merged into the base model weights.retrieval, text-matching, classification, clustering).
For each model, the task-specific adapter is merged into the base model weights.
This enables simpler usage with llama.cpp.retrieval, text-matching, classification, clustering).
For each model, the task-specific adapter is merged into the base model weights.
This enables inference using ONNX Runtime and Hugging Face Optimum.onnx subfolder of each model repository.
Instructions and usage examples for each task are available in their respective model repository:jina-embeddings-v5-text-nano useful in your research, please cite the following paper:1@article{akram2026jina,
2 title={jina-embeddings-v5-text: Task-Targeted Embedding Distillation},
3 author={Mohammad Kalim Akram and Saba Sturua and Nastia Havriushenko and Quentin Herreros and Michael G{\"u}nther and Maximilian Werk and Han Xiao},
4 journal={arXiv preprint arXiv:2602.15547},
5 year={2026}
6}