alt.freeweights.embed / e5-small-v2
From: intfloat <huggingface.co/intfloat>Newsgroups: alt.freeweights.embedSubject:

e5-small-v2

Date: 2026-11-14Commit: ffb93f3Signed: 2DC28CC7B26A283B ✓

Sentence similarity model with 33M parameters. Onnx and openvino and safetensors weights, 803 MB in all. Published by intfloat under MIT.

33M params803MBe5-small-v2onnx openvino safetensorspermissive
FactsParams33MSize803 MBFormatsonnx, openvino, safetensorsTasksentence similarityLicenseMITFrom sourcepermissive
$ fw get intfloat/e5-small-v2
# manifest sha256 8b1101105149… · 803 MB · 20 files
$ fw verify ./e5-small-v2 intfloat/e5-small-v2
From sourceHosted (signed)intfloat/e5-small-v2Last 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
803 MB
Weights
133 MB (safetensors)
Parameters
33M
Formats
onnx, openvino, safetensors
Task
sentence similarity
License
MIT (permissive)
Files
20, each with a sha256
Publisher
intfloat
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 ffb93f3. Shown as plain text with links; images open at the publisher.

E5-small-v2#

Text Embeddings by Weakly-Supervised Contrastive Pre-training. Liang Wang, Nan Yang, Xiaolong Huang, Binxing Jiao, Linjun Yang, Daxin Jiang, Rangan Majumder, Furu Wei, arXiv 2022

This model has 12 layers and the embedding size is 384.

Usage#

Below is an example to encode queries and passages from the MS-MARCO passage ranking dataset.

import torch.nn.functional as F

from torch import Tensor
from transformers import AutoTokenizer, AutoModel


def average_pool(last_hidden_states: Tensor,
                 attention_mask: Tensor) -> Tensor:
    last_hidden = last_hidden_states.masked_fill(~attention_mask[..., None].bool(), 0.0)
    return last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[..., None]


# Each input text should start with "query: " or "passage: ".
# For tasks other than retrieval, you can simply use the "query: " prefix.
input_texts = ['query: how much protein should a female eat',
               'query: summit define',
               "passage: As a general guideline, the CDC's average requirement of protein for women ages 19 to 70 is 46 grams per day. But, as you can see from this chart, you'll need to increase that if you're expecting or training for a marathon. Check out the chart below to see how much protein you should be eating each day.",
               "passage: Definition of summit for English Language Learners. : 1  the highest point of a mountain : the top of a mountain. : 2  the highest level. : 3  a meeting or series of meetings between the leaders of two or more governments."]

tokenizer = AutoTokenizer.from_pretrained('intfloat/e5-small-v2')
model = AutoModel.from_pretrained('intfloat/e5-small-v2')

# Tokenize the input texts
batch_dict = tokenizer(input_texts, max_length=512, padding=True, truncation=True, return_tensors='pt')

outputs = model(**batch_dict)
embeddings = average_pool(outputs.last_hidden_state, batch_dict['attention_mask'])

# normalize embeddings
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:2] @ embeddings[2:].T) * 100
print(scores.tolist())

Training Details#

Please refer to our paper at https://arxiv.org/pdf/2212.03533.pdf.

Benchmark Evaluation#

Check out unilm/e5 to reproduce evaluation results on the BEIR and MTEB benchmark.

Support for Sentence Transformers#

Below is an example for usage with sentence_transformers.

from sentence_transformers import SentenceTransformer
model = SentenceTransformer('intfloat/e5-small-v2')
input_texts = [
    'query: how much protein should a female eat',
    'query: summit define',
    "passage: As a general guideline, the CDC's average requirement of protein for women ages 19 to 70 is 46 grams per day. But, as you can see from this chart, you'll need to increase that if you're expecting or training for a marathon. Check out the chart below to see how much protein you should be eating each day.",
    "passage: Definition of summit for English Language Learners. : 1  the highest point of a mountain : the top of a mountain. : 2  the highest level. : 3  a meeting or series of meetings between the leaders of two or more governments."
]
embeddings = model.encode(input_texts, normalize_embeddings=True)

Package requirements

pip install sentence_transformers~=2.2.2

Contributors: michaelfeil

FAQ#

1. Do I need to add the prefix "query: " and "passage: " to input texts?

Yes, this is how the model is trained, otherwise you will see a performance degradation.

Here are some rules of thumb:

  • Use "query: " and "passage: " correspondingly for asymmetric tasks such as passage retrieval in open QA, ad-hoc information retrieval.
  • Use "query: " prefix for symmetric tasks such as semantic similarity, paraphrase retrieval.
  • Use "query: " prefix if you want to use embeddings as features, such as linear probing classification, clustering.

2. Why are my reproduced results slightly different from reported in the model card?

Different versions of transformers and pytorch could cause negligible but non-zero performance differences.

3. Why does the cosine similarity scores distribute around 0.7 to 1.0?

This is a known and expected behavior as we use a low temperature 0.01 for InfoNCE contrastive loss.

For text embedding tasks like text retrieval or semantic similarity, what matters is the relative order of the scores instead of the absolute values, so this should not be an issue.

Citation#

If you find our paper or models helpful, please consider cite as follows:

@article{wang2022text,
  title={Text Embeddings by Weakly-Supervised Contrastive Pre-training},
  author={Wang, Liang and Yang, Nan and Huang, Xiaolong and Jiao, Binxing and Yang, Linjun and Jiang, Daxin and Majumder, Rangan and Wei, Furu},
  journal={arXiv preprint arXiv:2212.03533},
  year={2022}
}

Limitations#

This model only works for English texts. Long texts will be truncated to at most 512 tokens.

Files

20 files · 803 MBWeights 133 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 20 files with their sha256
FileSizesha256
.gitattributes1.48 KBdb7c0371f46f0840b8f25794c1e3321c9b5820a8cb6ba9694a46fc64b8fae5a6
1_Pooling/config.json200 B987f7a67a38fa564c849bb5d277c52ab9088a84368fc0be31a354125aebb12a0
README.md67.8 KB0d57eda4766cc7ac045f2bf7e700286ea5a8360bb9b57278f67f9b8ef60b0b24
config.json615 B5dfb0363cd0243be179c03bcaafd1542d0fbb95e8cbcf575fff3e229342adc2f
model.onnx133 MB4b8205be2a3c5fc53c6534d76a2012064f7309c162b806f2889c6ec8ec4fdcba
model.safetensors133 MB45bfa60070649aae2244fbc9d508537779b93b6f353c17b0f95ceccb1c5116c1
modules.json387 Bc6e29747481e8b5dd2b58401966aeac910de39092f90cda9a704b1545f902b04
onnx/model_O4.onnx66.6 MB5a0ed8686280e292eec2321fbe06f21c3c53ed434ce5548712354211ef9e70bc
onnx/model_qint8_avx512_vnni.onnx34.1 MBac5f66639a9975db4cbf37f0bc9322eb1459920cc3c8f854caef822a9a652997
openvino/openvino_model.bin133 MB96e21f1ba6452be9f368f15a2af0a6a4f81e02dc5e0806ea60b09961f53a4724
openvino/openvino_model.xml363 KBc018debce4ece2a0209bc49ceef65ec37f67721870b626a9c8b5dcf72b115a0c
openvino/openvino_model_qint8_quantized.bin33.8 MB840ce3ea55437187eb9c1c238e88bb1bb575c0644289e3dd5daee76d1b36e595
openvino/openvino_model_qint8_quantized.xml664 KBe28a7fd281e17990651dde94b3571dc06f2b44ccd92044ccfc3a0cbf5416a7d3
pytorch_model.bin134 MB4790fed2919e70bff573d01cd3aede75970f219ab4c0b0aeadd0f4b98084a17d
sentence_bert_config.json57 B948201d8329907aae938fa62f9ceeed53f5694dacc2b87b9f3b78b37ee986529
special_tokens_map.json125 Bb6d346be366a7d1d48332dbc9fdf3bf8960b5d879522b7799ddba59e76237ee3
tf_model.h5134 MB2944a3d38da72d3c4d9c2518046122d1bf824a1d31bb4f271648eb3705296626
tokenizer.json711 KBd241a60d5e8f04cc1b2b3e9ef7a4921b27bf526d9f6050ab90f9267a1f9e5c66
tokenizer_config.json314 Bae83fa6ca0333117ff12606020af925d648667ef70d92ff7f27d781ba0ca4544
vocab.txt232 KB07eced375cec144d27c900241f3e339478dec958f92fddbc551f295c992038a3
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
ffb93f3bd4 pinned now manifest updated, same commit2026-11-14 21:09 UTC20 files · 803 MB
ffb93f3bd42026-11-14 21:09 UTC20 files · 803 MB

Use it

$ fw get intfloat/e5-small-v2
# manifest sha256 8b1101105149… · 803 MB · 20 files
$ fw verify ./e5-small-v2 intfloat/e5-small-v2
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/intfloat/e5-small-v2.json --dir ./e5-small-v2 $ python3 fw.py verify ./e5-small-v2 ./intfloat__e5-small-v2.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download intfloat/e5-small-v2 --revision ffb93f3bd4047442299a41ebb6fa998a38507c52 --local-dir ./e5-small-v2
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModel, AutoTokenizer tok = AutoTokenizer.from_pretrained("intfloat/e5-small-v2", revision="ffb93f3bd4047442299a41ebb6fa998a38507c52") model = AutoModel.from_pretrained("intfloat/e5-small-v2", revision="ffb93f3bd4047442299a41ebb6fa998a38507c52", 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("intfloat/e5-small-v2", revision="ffb93f3bd4047442299a41ebb6fa998a38507c52") vectors = model.encode(["Hello"])

License

Name
MIT License
Id
MIT
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
0d57eda4766cc7ac045f2bf7e700286ea5a8360bb9b57278f67f9b8ef60b0b24
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: intfloat <huggingface.co/intfloat>Newsgroups: alt.freeweights.embedSubject: e5-small-v2Date: 2026-11-14Commit: ffb93f3Signed: 2DC28CC7B26A283B ✓
Upstream
intfloat/e5-small-v2
Pinned commit
ffb93f3bd4047442299a41ebb6fa998a38507c52
Manifest
e5-small-v2.json · .minisig
Manifest sha256
8b11011051499c5adc38d434a527a30164c377f29ad8f431d3203777eb26b5ff
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/intfloat/e5-small-v2.json $ curl -O https://freeweights.allternit.com/manifests/intfloat/e5-small-v2.json.minisig $ minisign -Vm e5-small-v2.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

1 model in the catalog name this one as their parent.

Quantizations
1
Quantizations 1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download intfloat/e5-small-v2
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. e5-small-v2.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of e5-small-v2. Each has its own license check and page.

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