alt.freeweights.embed / jina-embeddings-v2-small-en
From: jinaai <huggingface.co/jinaai>Newsgroups: alt.freeweights.embedSubject:

jina-embeddings-v2-small-en

Date: 2026-11-14Commit: 44e7d1dSigned: 2DC28CC7B26A283B ✓

Feature extraction model with 33M parameters. Coreml and onnx and safetensors weights, 523 MB in all. Published by jinaai under Apache-2.0.

33M params523MBjina-embeddings-v2-small-encoreml onnx safetensorspermissive
FactsParams33MSize523 MBFormatscoreml, onnx, safetensorsTaskfeature extractionLicenseApache-2.0From sourcepermissive
$ fw get jinaai/jina-embeddings-v2-small-en
# manifest sha256 20ccb8527b67… · 523 MB · 19 files
$ fw verify ./jina-embeddings-v2-small-en jinaai/jina-embeddings-v2-small-en
From sourceHosted (signed)jinaai/jina-embeddings-v2-small-enLast check: 2026-11-14 21:09 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Works with

Evaluate with

Overview

Size
523 MB
Weights
65.4 MB (safetensors)
Parameters
33M
Formats
coreml, onnx, safetensors
Task
feature extraction
License
Apache-2.0 (permissive)
Files
19, each with a sha256
Publisher
jinaai
Added
2026-11-14
Section
alt.freeweights.embed
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:09 UTCpassed

Model card

From the publisher at commit 44e7d1d. Shown as plain text with links; images open at the publisher.

Image: Jina AI: Your Search Foundation, Supercharged!

The text embedding set trained by Jina AI.

Quick Start#

The easiest way to starting using jina-embeddings-v2-small-en is to use Jina AI's Embedding API.

Intended Usage & Model Info#

jina-embeddings-v2-small-en is an English, monolingual embedding model supporting 8192 sequence length. It is based on a BERT architecture (JinaBERT) that supports the symmetric bidirectional variant of ALiBi to allow longer sequence length. The backbone jina-bert-v2-small-en is pretrained on the C4 dataset. The model is further trained on Jina AI's collection of more than 400 millions of sentence pairs and hard negatives. These pairs were obtained from various domains and were carefully selected through a thorough cleaning process.

The embedding model was trained using 512 sequence length, but extrapolates to 8k sequence length (or even longer) thanks to ALiBi. This makes our model useful for a range of use cases, especially when processing long documents is needed, including long document retrieval, semantic textual similarity, text reranking, recommendation, RAG and LLM-based generative search, etc.

This model has 33 million parameters, which enables lightning-fast and memory efficient inference, while still delivering impressive performance. Additionally, we provide the following embedding models:

Data & Parameters#

Jina Embeddings V2 technical report

Usage#

**Please apply mean pooling when integrating the model.

**

Why mean pooling?#

mean poooling takes all token embeddings from model output and averaging them at sentence/paragraph level. It has been proved to be the most effective way to produce high-quality sentence embeddings. We offer an encode function to deal with this.

However, if you would like to do it without using the default encode function:

import torch
import torch.nn.functional as F
from transformers import AutoTokenizer, AutoModel

def mean_pooling(model_output, attention_mask):
    token_embeddings = model_output[0]
    input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
    return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)

sentences = ['How is the weather today?', 'What is the current weather like today?']

tokenizer = AutoTokenizer.from_pretrained('jinaai/jina-embeddings-v2-small-en')
model = AutoModel.from_pretrained('jinaai/jina-embeddings-v2-small-en', trust_remote_code=True)

encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')

with torch.no_grad():
    model_output = model(**encoded_input)

embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
embeddings = F.normalize(embeddings, p=2, dim=1)

You can use Jina Embedding models directly from transformers package.

!pip install transformers
from transformers import AutoModel
from numpy.linalg import norm

cos_sim = lambda a,b: (a @ b.T) / (norm(a)*norm(b))
model = AutoModel.from_pretrained('jinaai/jina-embeddings-v2-small-en', trust_remote_code=True) # trust_remote_code is needed to use the encode method
embeddings = model.encode(['How is the weather today?', 'What is the current weather like today?'])
print(cos_sim(embeddings[0], embeddings[1]))

If you only want to handle shorter sequence, such as 2k, pass the max_length parameter to the encode function:

embeddings = model.encode(
    ['Very long ... document'],
    max_length=2048
)

The latest sentence-transformers also supports Jina embeddings:

!pip install -U sentence-transformers
from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim

model = SentenceTransformer(
    "jinaai/jina-embeddings-v2-small-en", # switch to en/zh for English or Chinese
    trust_remote_code=True
)

# control your input sequence length up to 8192
model.max_seq_length = 1024

embeddings = model.encode([
    'How is the weather today?',
    'What is the current weather like today?'
])
print(cos_sim(embeddings[0], embeddings[1]))

Alternatives to Using Transformers Package#

  1. Managed SaaS: Get started with a free key on Jina AI's Embedding API.
  2. Private and high-performance deployment: Get started by picking from our suite of models and deploy them on AWS Sagemaker.

RAG Performance#

According to the latest blog post from LLamaIndex,

In summary, to achieve the peak performance in both hit rate and MRR, the combination of OpenAI or JinaAI-Base embeddings with the CohereRerank/bge-reranker-large reranker stands out.

Image: image

Plans#

  1. Bilingual embedding models supporting more European & Asian languages, including Spanish, French, Italian and Japanese.
  2. Multimodal embedding models enable Multimodal RAG applications.
  3. High-performt rerankers.

Trouble Shooting#

Loading of Model Code failed

If you forgot to pass the trust_remote_code=True flag when calling AutoModel.from_pretrained or initializing the model via the SentenceTransformer class, you will receive an error that the model weights could not be initialized. This is caused by tranformers falling back to creating a default BERT model, instead of a jina-embedding model:

Some weights of the model checkpoint at jinaai/jina-embeddings-v2-base-en were not used when initializing BertModel: ['encoder.layer.2.mlp.layernorm.weight', 'encoder.layer.3.mlp.layernorm.weight', 'encoder.layer.10.mlp.wo.bias', 'encoder.layer.5.mlp.wo.bias', 'encoder.layer.2.mlp.layernorm.bias', 'encoder.layer.1.mlp.gated_layers.weight', 'encoder.layer.5.mlp.gated_layers.weight', 'encoder.layer.8.mlp.layernorm.bias', ...

Contact#

Join our Discord community and chat with other community members about ideas.

Citation#

If you find Jina Embeddings useful in your research, please cite the following paper:

@misc{günther2023jina,
      title={Jina Embeddings 2: 8192-Token General-Purpose Text Embeddings for Long Documents}, 
      author={Michael Günther and Jackmin Ong and Isabelle Mohr and Alaeddine Abdessalem and Tanguy Abel and Mohammad Kalim Akram and Susana Guzman and Georgios Mastrapas and Saba Sturua and Bo Wang and Maximilian Werk and Nan Wang and Han Xiao},
      year={2023},
      eprint={2310.19923},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

Files

19 files · 523 MBWeights 65.4 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 19 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
1_Pooling/config.json190 B87bc2276966306a852eeb365e10008072b05aacc5540741208d959c02d1fc669
README.md70.6 KBc0bcd337a0ae47078904dcd118edc17cb366722eef36bc3f37e50539aefc0c67
config.json1.18 KB940582c6d428408d92d628b94541092e7ca9cbee6c3f147de54e9d4ddfe30ace
config_sentence_transformers.json117 Bf74e79e5a81393fc7127bb35604607dda8e68e7feeb7ed8cd399fc3b1257c793
coreml/float32_model.mlpackage/Data/com.apple.CoreML/model.mlmodel48.7 KBdf2a5079c31212962c5c3ba5f19e7d07549dd87d2c2a7137988f4afefece9cd6
coreml/float32_model.mlpackage/Data/com.apple.CoreML/weights/weight.bin132 MBab10bc04d4f17ef91cb5e36a540dfdc817cbe936c6d4ffb64e6c16a75cb6bac3
coreml/float32_model.mlpackage/Manifest.json617 Bed0d5f99fc7a6d0f08b02a075071531c47a14f21106e39d03caacb4379e10e35
generation_config.json90 Ba48d64432caed37e399c7e88a68e2f0c3b86281f9772674f8ca58aee9e86fc0b
model-w-mean-pooling.onnx130 MBc5412c83114b16f121ddead44e2887218f16dece45efb6681dac4dd82e4f3aaa
model.onnx130 MB974fdefe71fc9889258f569132b35acae6278874c8d09dbdf7806d23ad0b4497
model.safetensors65.4 MBc9a9a7ec012d01efd780474fbb65e25917f3a2aebdff84b5f87daa00f7e90b27
modules.json229 B8f4b264b80206c830bebbdcae377e137925650a433b689343a63bdc9b3145460
pytorch_model.bin65.4 MB54c94f036922a64af7912b14358b79051d269dc43a049189362f291ba33491b9
sentence_bert_config.json99 B7a17ba8cf5532d66e5e102613b7ff22905c2722f6c8c853e6bc02d5ad280cf51
special_tokens_map.json125 Bb6d346be366a7d1d48332dbc9fdf3bf8960b5d879522b7799ddba59e76237ee3
tokenizer.json712 KBe9f999ac74497843ed9f4303246a8f43d9f100ee8aab8e133667903f447ceb48
tokenizer_config.json373 B25cbd867af916b5a5718e80e9a702cf72c61bf890a1bc141c6fbce6d74c99632
vocab.txt232 KB109753d618dbb576a35112f9c20ef35cf3517d46106175bcf010c986a4bef1df
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
44e7d1d6ca pinned now manifest updated, same commit2026-11-14 21:09 UTC19 files · 523 MB
44e7d1d6ca2026-11-14 21:09 UTC19 files · 523 MB

Use it

$ fw get jinaai/jina-embeddings-v2-small-en
# manifest sha256 20ccb8527b67… · 523 MB · 19 files
$ fw verify ./jina-embeddings-v2-small-en jinaai/jina-embeddings-v2-small-en
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/jinaai/jina-embeddings-v2-small-en.json --dir ./jina-embeddings-v2-small-en $ python3 fw.py verify ./jina-embeddings-v2-small-en ./jinaai__jina-embeddings-v2-small-en.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download jinaai/jina-embeddings-v2-small-en --revision 44e7d1d6caec8c883c2d4b207588504d519788d0 --local-dir ./jina-embeddings-v2-small-en
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModel, AutoTokenizer tok = AutoTokenizer.from_pretrained("jinaai/jina-embeddings-v2-small-en", revision="44e7d1d6caec8c883c2d4b207588504d519788d0") model = AutoModel.from_pretrained("jinaai/jina-embeddings-v2-small-en", revision="44e7d1d6caec8c883c2d4b207588504d519788d0", device_map="auto")
sentence-transformersEmbed text with sentence-transformers.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from sentence_transformers import SentenceTransformer model = SentenceTransformer("jinaai/jina-embeddings-v2-small-en", revision="44e7d1d6caec8c883c2d4b207588504d519788d0") vectors = model.encode(["Hello"])

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
README.md
Text sha256
c0bcd337a0ae47078904dcd118edc17cb366722eef36bc3f37e50539aefc0c67
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: jinaai <huggingface.co/jinaai>Newsgroups: alt.freeweights.embedSubject: jina-embeddings-v2-small-enDate: 2026-11-14Commit: 44e7d1dSigned: 2DC28CC7B26A283B ✓
Upstream
jinaai/jina-embeddings-v2-small-en
Pinned commit
44e7d1d6caec8c883c2d4b207588504d519788d0
Manifest
jina-embeddings-v2-small-en.json · .minisig
Manifest sha256
20ccb8527b67634e736134941b4b499bbca25786e680a73992377ee3ec8febca
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:09 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/jinaai/jina-embeddings-v2-small-en.json $ curl -O https://freeweights.allternit.com/manifests/jinaai/jina-embeddings-v2-small-en.json.minisig $ minisign -Vm jina-embeddings-v2-small-en.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

No related models in this catalog.Nothing here lists this model as its parent, and it names no parent.
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download jinaai/jina-embeddings-v2-small-en
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. jina-embeddings-v2-small-en.json. Provenance. Takedown history: none.
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: all-MiniLM-L6-v1
From: unsloth <huggingface.co/unsloth>Subject: all-MiniLM-L6-v2
From: mlx-community <huggingface.co/mlx-community>Subject: all-MiniLM-L6-v2-4bit
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: all-mpnet-base-v1
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: allenai-specter
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: bert-base-nli-max-tokens