alt.freeweights.embed / mxbai-embed-2d-large-v1
From: mixedbread-ai <huggingface.co/mixedbread-ai>Newsgroups: alt.freeweights.embedSubject:

mxbai-embed-2d-large-v1

Date: 2026-11-14Commit: 416c45dSigned: 2DC28CC7B26A283B ✓

Feature extraction model with 335M parameters. Onnx and safetensors weights, 3.01 GB in all. Published by mixedbread-ai under Apache-2.0.

335M params3.01GBmxbai-embed-2d-large-v1onnx safetensorspermissive
FactsParams335MSize3.01 GBFormatsonnx, safetensorsTaskfeature extractionLicenseApache-2.0From sourcepermissive
$ fw get mixedbread-ai/mxbai-embed-2d-large-v1
# manifest sha256 a0eef87a0a1e… · 3.01 GB · 17 files
$ fw verify ./mxbai-embed-2d-large-v1 mixedbread-ai/mxbai-embed-2d-large-v1
From sourceHosted (signed)mixedbread-ai/mxbai-embed-2d-large-v1Last 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
3.01 GB
Weights
670 MB (safetensors)
Parameters
335M
Formats
onnx, safetensors
Task
feature extraction
License
Apache-2.0 (permissive)
Files
17, each with a sha256
Publisher
mixedbread-ai
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 416c45d. Shown as plain text with links; images open at the publisher.

The crispy sentence embedding family from Mixedbread.

🍞 Looking for a simple end-to-end retrieval solution? Meet Omni, our multimodal and multilingual model. Get in touch for access.

🪆mxbai-embed-2d-large-v1🪆#

This is our 2DMSE sentence embedding model. It supports the adaptive transformer layer and embedding size. Find out more in our blog post.

TLDR: 2D-🪆 allows you to shrink the model and the embeddings layer. Shrinking only the embeddings model yields competetive results to other models like nomics embeddings model. Shrinking the model to ~50% maintains upto 85% of the performance without further training.

Quickstart#

Here, we provide several ways to produce sentence embeddings with adaptive layers and embedding sizes. For this version, it is recommended to set adaptive layers from 20 to 24.

sentence-transformers#

Currently, the best way to use our models is with the most recent version of sentence-transformers.

python -m pip install -U sentence-transformers
from sentence_transformers import models, SentenceTransformer
from sentence_transformers.util import cos_sim

# 1. load model with `cls` pooling
model = SentenceTransformer("mixedbread-ai/mxbai-embed-2d-large-v1")

# 2. set adaptive layer and embedding size.
# it is recommended to set layers from 20 to 24.
new_num_layers = 22  # 1D: set layer size
model[0].auto_model.encoder.layer = model[0].auto_model.encoder.layer[:new_num_layers]

new_embedding_size = 768  # 2D: set embedding size

# 3. encode
embeddings = model.encode(
    [
        'Who is german and likes bread?',
        'Everybody in Germany.'
    ]
)

# Similarity of the first sentence with the other two
similarities = cos_sim(embeddings[0, :new_embedding_size], embeddings[1, :new_embedding_size])

print('similarities:', similarities)
angle-emb#

You can also use the lastest angle-emb for inference, as follows:

python -m pip install -U angle-emb
from angle_emb import AnglE
from sentence_transformers.util import cos_sim

# 1. load model
model = AnglE.from_pretrained("mixedbread-ai/mxbai-embed-2d-large-v1", pooling_strategy='cls').cuda()

# 2. set adaptive layer and embedding size.
# it is recommended to set layers from 20 to 24.
layer_index = 22  # 1d: layer
embedding_size = 768  # 2d: embedding size

# 3. encode
embeddings = model.encode([
    'Who is german and likes bread?',
    'Everybody in Germany.'
], layer_index=layer_index, embedding_size=embedding_size)

similarities = cos_sim(embeddings[0], embeddings[1:])
print('similarities:', similarities)
Transformers.js#

If you haven't already, you can install the Transformers.js JavaScript library from NPM using:

npm i @xenova/transformers

You can then use the model to compute embeddings as follows:

import { pipeline, cos_sim } from '@xenova/transformers';
// Create a feature-extraction pipeline
const extractor = await pipeline('feature-extraction', 'mixedbread-ai/mxbai-embed-2d-large-v1', {
    quantized: false, // (Optional) remove this line to use the 8-bit quantized model
});

// Compute sentence embeddings (with `cls` pooling)
const sentences = ['Who is german and likes bread?', 'Everybody in Germany.' ];
const output = await extractor(sentences, { pooling: 'cls' });

// Set embedding size and truncate embeddings
const new_embedding_size = 768;
const truncated = output.slice(null, [0, new_embedding_size]);

// Compute cosine similarity
console.log(cos_sim(truncated[0].data, truncated[1].data)); // 0.6979532021425204
Using API#

You can use the model via our API as follows:

from mixedbread_ai.client import MixedbreadAI
from sklearn.metrics.pairwise import cosine_similarity
import os

mxbai = MixedbreadAI(api_key="{MIXEDBREAD_API_KEY}")

english_sentences = [
    'What is the capital of Australia?',
    'Canberra is the capital of Australia.'
] 

res = mxbai.embeddings(
     input=english_sentences,
     model="mixedbread-ai/mxbai-embed-2d-large-v1",
     dimensions=512,
)
embeddings = [entry.embedding for entry in res.data]

similarities = cosine_similarity([embeddings[0]], [embeddings[1]])
print(similarities)

The API comes with native INT8 and binary quantization support! Check out the docs for more information.

Evaluation#

Please find more information in our blog post.

Community#

Please join our Discord Community and share your feedback and thoughts! We are here to help and also always happy to chat.

License#

Apache 2.0

Files

17 files · 3.01 GBWeights 670 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 17 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
1_Pooling/config.json297 B13e69897522ee8255104483ed9f219465d1be3936654a54a318758738052789e
LICENSE10.8 KB4b0dfefcb74f1e50a8df72a9f2bf0088753f8568bc479387292469b4948705d4
README.md107 KB4d1bd680758fef2be6b554ea62232dafca9841107470e24f63532554605547a2
config.json758 Ba4f388661e524784d11ee3661a7ce4305ad201c477fbe03a803f63b339360da8
config_sentence_transformers.json171 Be1e814ad7a40c9446fb6eb68040a522fa323bb6f352e6ad0a00b627cfdf26c37
model.safetensors670 MBfaf977771124821a54429f7d885721db09155a3cc8adde555b1ca3983b03c0bb
modules.json229 B8f4b264b80206c830bebbdcae377e137925650a433b689343a63bdc9b3145460
onnx/model.onnx1.34 GB6a69af93de0a4c349d263c398534d31b25c375fc67859049d3c08615c761257c
onnx/model_fp16.onnx669 MBdb188400990c9683bf9578965fd3d5ea518847d87fc9a04e90d0db1ff1cbdcb5
onnx/model_quantized.onnx337 MB21ac80429bb5d96f6879ff1283692a502dc65aa8993d89ea3ae95a1745149479
onnx/quantize_config.json674 Bb271efca56f7aee8f120e1e10ba6576ed33bc61f21e393afc8eddc136bb991a4
sentence_bert_config.json53 Bec8e29d6dcb61b611b7d3fdd2982c4524e6ad985959fa7194eacfb655a8d0d51
special_tokens_map.json695 B5d5b662e421ea9fac075174bb0688ee0d9431699900b90662acd44b2a350503a
tokenizer.json711 KBd241a60d5e8f04cc1b2b3e9ef7a4921b27bf526d9f6050ab90f9267a1f9e5c66
tokenizer_config.json1.24 KB0b29c7bfc889e53b36d9dd3e686dd4300f6525110eaa98c76a5dafceb2029f53
vocab.txt232 KB07eced375cec144d27c900241f3e339478dec958f92fddbc551f295c992038a3
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
416c45d154 pinned now manifest updated, same commit2026-11-14 21:09 UTC17 files · 3.01 GB
416c45d1542026-11-14 21:09 UTC17 files · 3.01 GB

Use it

$ fw get mixedbread-ai/mxbai-embed-2d-large-v1
# manifest sha256 a0eef87a0a1e… · 3.01 GB · 17 files
$ fw verify ./mxbai-embed-2d-large-v1 mixedbread-ai/mxbai-embed-2d-large-v1
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/mixedbread-ai/mxbai-embed-2d-large-v1.json --dir ./mxbai-embed-2d-large-v1 $ python3 fw.py verify ./mxbai-embed-2d-large-v1 ./mixedbread-ai__mxbai-embed-2d-large-v1.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mixedbread-ai/mxbai-embed-2d-large-v1 --revision 416c45d154ee4e435b6d19f6bd54440f38a12ee9 --local-dir ./mxbai-embed-2d-large-v1
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModel, AutoTokenizer tok = AutoTokenizer.from_pretrained("mixedbread-ai/mxbai-embed-2d-large-v1", revision="416c45d154ee4e435b6d19f6bd54440f38a12ee9") model = AutoModel.from_pretrained("mixedbread-ai/mxbai-embed-2d-large-v1", revision="416c45d154ee4e435b6d19f6bd54440f38a12ee9", 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("mixedbread-ai/mxbai-embed-2d-large-v1", revision="416c45d154ee4e435b6d19f6bd54440f38a12ee9") 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
LICENSE
Text sha256
4b0dfefcb74f1e50a8df72a9f2bf0088753f8568bc479387292469b4948705d4
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: mixedbread-ai <huggingface.co/mixedbread-ai>Newsgroups: alt.freeweights.embedSubject: mxbai-embed-2d-large-v1Date: 2026-11-14Commit: 416c45dSigned: 2DC28CC7B26A283B ✓
Upstream
mixedbread-ai/mxbai-embed-2d-large-v1
Pinned commit
416c45d154ee4e435b6d19f6bd54440f38a12ee9
Manifest
mxbai-embed-2d-large-v1.json · .minisig
Manifest sha256
a0eef87a0a1e85d101bf75206cd1265f55ce7c112f46f80f08e3f935693f1ce6
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/mixedbread-ai/mxbai-embed-2d-large-v1.json $ curl -O https://freeweights.allternit.com/manifests/mixedbread-ai/mxbai-embed-2d-large-v1.json.minisig $ minisign -Vm mxbai-embed-2d-large-v1.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 mixedbread-ai/mxbai-embed-2d-large-v1
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. mxbai-embed-2d-large-v1.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