alt.freeweights.embed / mxbai-edge-colbert-v0-32m
From: mixedbread-ai <huggingface.co/mixedbread-ai>Newsgroups: alt.freeweights.embedSubject:

mxbai-edge-colbert-v0-32m

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

Sentence similarity model with 32M parameters. Onnx and safetensors weights, 300 MB in all. Published by mixedbread-ai under Apache-2.0.

32M params300MBmxbai-edge-colbert-v0-32monnx safetensorspermissive
FactsParams32MSize300 MBFormatsonnx, safetensorsTasksentence similarityLicenseApache-2.0From sourcepermissive
$ fw get mixedbread-ai/mxbai-edge-colbert-v0-32m
# manifest sha256 f9171f7a7d4f… · 300 MB · 19 files
$ fw verify ./mxbai-edge-colbert-v0-32m mixedbread-ai/mxbai-edge-colbert-v0-32m
From sourceHosted (signed)mixedbread-ai/mxbai-edge-colbert-v0-32mLast 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
300 MB
Weights
131 MB (safetensors)
Parameters
32M
Formats
onnx, safetensors
Task
sentence similarity
License
Apache-2.0 (permissive)
Files
19, 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 bb13a29. Shown as plain text with links; images open at the publisher.

The crispy, lightweight ColBERT family from Mixedbread.

🍞 Looking for a simple end-to-end retrieval solution? Meet Mixedbread Search, our multi-modal and multi-lingual search solution.

mxbai-edge-colbert-v0-32m#

This model is a lightweight, 32 million parameter ColBERT with a projection dimension of 64. It is built on top of Ettin-32M, meaning it benefits from all of ModernBERT's architectural efficiencies. Despite this extreme efficiency, it is the best-performer "edge-sized" retriever, outperforming ColBERTv2 and many models with over 10 times more parameters. It can create multi-vector representations for documents of up to 32,000 tokens and is fully compatible with the PyLate library.

Usage#

Sentence Transformers#

This model can be used with Sentence Transformers as a multi-vector (ColBERT-style late interaction) retriever via the MultiVectorEncoder:

pip install "sentence-transformers>=6.0.0"
from sentence_transformers import MultiVectorEncoder

model = MultiVectorEncoder("mixedbread-ai/mxbai-edge-colbert-v0-32m")

query = "Which planet is known as the Red Planet?"
documents = [
    "Venus is often called Earth's twin because of its similar size and proximity.",
    "Mars, known for its reddish appearance, is often referred to as the Red Planet.",
    "Jupiter, the largest planet in our solar system, has a prominent red spot.",
    "Saturn, famous for its rings, is sometimes mistaken for the Red Planet.",
]

query_embeddings = model.encode_query(query)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings[0].shape)
# (12, 64) (18, 64)

# MaxSim late-interaction scoring (higher is more relevant)
scores = model.similarity(query_embeddings, document_embeddings)
print(scores)
# tensor([[11.2081, 11.5308, 11.4104, 11.4756]])
PyLate#

To use this model, you first need to install PyLate:

via uv

# uv
uv add pylate
# uv + pip
uv pip install pylate

or pip

# pip
pip install -U pylate

Once installed, the model is immediately ready to use to generate representations and index documents:

from pylate import indexes, models, retrieve

# Step 1: Load the model
model = models.ColBERT(
    model_name_or_path="mixedbread-ai/mxbai-edge-colbert-v0-32m",
)


# Step 2: Initialize an index (here, PLAID, for larger document collections)
index = indexes.PLAID(
    index_folder="pylate-index",
    index_name="index",
    override=True,  # This overwrites the existing index if any
)

# Step 3: Encode your documents
documents_ids = ["1", "2", "3"]
documents = ["document 1 text", "document 2 text", "document 3 text"]

documents_embeddings = model.encode(
    documents,
    batch_size=32,
    is_query=False,  # Ensure that it is set to False to indicate that these are documents, not queries
    show_progress_bar=True,
)

# Step 4: Add document embeddings to the index by providing embeddings and corresponding ids
index.add_documents(
    documents_ids=documents_ids,
    documents_embeddings=documents_embeddings,
)

That's all you need to do to encode a full collection! Your documents are indexed and ready to be queried:

# Step 5.1: Initialize the ColBERT retriever
retriever = retrieve.ColBERT(index=index)

# Step 2: Encode the queries
queries_embeddings = model.encode(
    ["query for document 3", "query for document 1"],
    batch_size=32,
    is_query=True,  #  # Ensure that it is set to False to indicate that these are queries
    show_progress_bar=True,
)

# Step 3: Retrieve top-k documents
scores = retriever.retrieve(
    queries_embeddings=queries_embeddings,
    k=10,  # Retrieve the top 10 matches for each query
)
Reranking#

Thanks to its extreme parameter efficiency, this model is particularly well-suited to being used as a re-ranker following an even more lightweight first stage retrieval, such as static embeding models. Re-ranking is just as straigthforward:

from pylate import rank, models

# Load the model
model = models.ColBERT(
    model_name_or_path="mixedbread-ai/mxbai-edge-colbert-v0-32m",
)

# Define queries and documents
queries = [
    "query A",
    "query B",
]

documents = [
    ["document A", "document B"],
    ["document 1", "document C", "document B"],
]
documents_ids = [
    [1, 2],
    [1, 3, 2],
]

# Embed them
queries_embeddings = model.encode(
    queries,
    is_query=True,
)

documents_embeddings = model.encode(
    documents,
    is_query=False,
)

# Perform reranking
reranked_documents = rank.rerank(
    documents_ids=documents_ids,
    queries_embeddings=queries_embeddings,
    documents_embeddings=documents_embeddings,
)

Evaluation#

Results on BEIR#
ModelAVGMS MARCOSciFactToucheFiQATREC-COVIDNQDBPedia
Large Models (>100M)
GTE-ModernColBERT-v10.5470.4530.7630.3120.4530.8360.6180.480
ColBERTv20.4880.4560.6930.2630.3560.7330.5620.446
Medium Models (<35M)
mxbai-edge-colbert-v0-32m0.5210.4500.7400.3130.3900.7750.6000.455
answerai-colbert-small-v10.5340.4340.7400.2500.4100.8310.5940.464
bge-small-en-v1.50.5170.4080.7130.2600.4030.7590.5020.400
snowflake-s0.5190.4020.7220.2350.4070.8010.5090.410
Small Models (<25M)
mxbai-edge-colbert-v0-17m0.4900.4160.7190.3160.3260.7130.5510.410
colbert-muvera-micro0.3940.3640.6620.2510.2540.5610.3860.332
all-MiniLM-L6-v20.4190.3650.6450.1690.3690.4720.4390.323
Results on LongEmbed#
ModelAVG
Large Models (&gt;100M)
GTE-ModernColBERT-v1 (32k)0.898
GTE-ModernColBERT-v1 (4k)0.809
granite-embedding-english-r20.656
ColBERTv20.428
Medium Models (&lt;50M)
mxbai-edge-colbert-v0-32m (32k)0.849
mxbai-edge-colbert-v0-32m (4k)0.783
granite-embedding-small-english-r20.637
answerai-colbert-small-v10.441
bge-small-en-v1.50.312
snowflake-arctic-embed-s0.356
Small Models (&lt;25M)
mxbai-edge-colbert-v0-17m (32k)0.847
mxbai-edge-colbert-v0-17m (4k)0.776
all-MiniLM-L6-v20.298
colbert-muvera-micro0.405

For more details on evaluations, please read our Tech Report.

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

Citation#

If you use our model, please cite the associated tech report:

@misc{takehi2025fantasticsmallretrieverstrain,
      title={Fantastic (small) Retrievers and How to Train Them: mxbai-edge-colbert-v0 Tech Report}, 
      author={Rikiya Takehi and Benjamin Clavié and Sean Lee and Aamir Shakir},
      year={2025},
      eprint={2510.14880},
      archivePrefix={arXiv},
      primaryClass={cs.IR},
      url={https://arxiv.org/abs/2510.14880}, 
}

If you specifically use its projection heads, or discuss their effect, please cite our report on using different projections for ColBERT models:

@misc{clavie2025simpleprojectionvariantsimprove,
      title={Simple Projection Variants Improve ColBERT Performance}, 
      author={Benjamin Clavié and Sean Lee and Rikiya Takehi and Aamir Shakir and Makoto P. Kato},
      year={2025},
      eprint={2510.12327},
      archivePrefix={arXiv},
      primaryClass={cs.IR},
      url={https://arxiv.org/abs/2510.12327}, 
}

Finally, if you use PyLate in your work, please cite PyLate itself:

@misc{PyLate,
title={PyLate: Flexible Training and Retrieval for Late Interaction Models},
author={Chaffin, Antoine and Sourty, Raphaël},
url={https://github.com/lightonai/pylate},
year={2024}
}

Files

19 files · 300 MBWeights 131 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 19 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
1_Dense/config.json160 B1d0b5808c32bcf4cdf5d0016c33e637e2c319ada8f7d0cf4214f3abaefcec997
1_Dense/model.safetensors1.18 MBb397973da9e286f36ee06b8e331cecd061c6d6b04e42374f52a14ff09b9e57dd
2_Dense/config.json160 Bf2c8917ab9e7bb7b5730831b30eb4b85f5c707f7e9eb1823b3ffd782808a19dc
2_Dense/model.safetensors2.36 MB6eacaca25d4557e8d3135af5a29976c87fe21649b2a136fa3ee11a3e7d11f46c
3_Dense/config.json159 B98549f62f061eeccff65dcfda9a074cf790940f68f33fff6511e53254dd000ba
3_Dense/model.safetensors197 KBeedea1aed29d5baef63f0f62a3aa9c09ea3a0de0f39367fadaf56811a6d6c1a3
README.md49.7 KBc6fef9ba7d0f9720b1d5b6657fd88cd946bc51707f20551b790f86474650abf9
config.json1.25 KBa60a035a715a686dca530cf41da553a571e26ea45288d04d750b9da1a27c268d
config_sentence_transformers.json760 B0c4eb4090ff55ddee69380ad5ea88a3a89500651996a56953af72bafdb7965b6
model.onnx131 MB886e3a1638af8222613a8b3baf73520d5ab8c8275fc5ea16e3166982d01df24e
model.safetensors128 MB9e6f0583917c283f725c3b88750087e3b741dc832b8591dd43acfe68725e89d7
model_int8.onnx33.2 MB264ba680e960af9fffb4f78c3af1e4ff92520678b8e136c79434d88fb2549e1b
modules.json422 B48c40af6b8d1105cefe7174e2c840281cbf14d677e28977327db0791d7de7bbc
onnx_config.json803 Be10f017e4a8355f6b15f5be5f67295c90d5b25e487568bf0b0d9ee3259dc0eb7
sentence_bert_config.json56 B9454af3d0df043598d44ceda47f97bd8da9c74f7da9a310ee0004451fed4a040
special_tokens_map.json581 B6edfb9d64c0d7e5cbaa53516e90280fe1f42ba5ea7923d005a5f9b6e082142cf
tokenizer.json3.58 MB594291000b476c98ed600cbb1914ff128c79642a9433aac86213c7a5562d7c1a
tokenizer_config.json21.2 KBfa58ad3af06ff8c4a92fdb711728fe19555d1126fdc4158422750f5409b54a88
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
bb13a29ec9 pinned now manifest updated, same commit2026-11-14 21:09 UTC19 files · 300 MB
bb13a29ec92026-11-14 21:09 UTC19 files · 300 MB

Use it

$ fw get mixedbread-ai/mxbai-edge-colbert-v0-32m
# manifest sha256 f9171f7a7d4f… · 300 MB · 19 files
$ fw verify ./mxbai-edge-colbert-v0-32m mixedbread-ai/mxbai-edge-colbert-v0-32m
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-edge-colbert-v0-32m.json --dir ./mxbai-edge-colbert-v0-32m $ python3 fw.py verify ./mxbai-edge-colbert-v0-32m ./mixedbread-ai__mxbai-edge-colbert-v0-32m.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mixedbread-ai/mxbai-edge-colbert-v0-32m --revision bb13a29ec9b1e7edd4ba8f7a0776c48b55cbad66 --local-dir ./mxbai-edge-colbert-v0-32m
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-edge-colbert-v0-32m", revision="bb13a29ec9b1e7edd4ba8f7a0776c48b55cbad66") model = AutoModel.from_pretrained("mixedbread-ai/mxbai-edge-colbert-v0-32m", revision="bb13a29ec9b1e7edd4ba8f7a0776c48b55cbad66", 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-edge-colbert-v0-32m", revision="bb13a29ec9b1e7edd4ba8f7a0776c48b55cbad66") 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
c6fef9ba7d0f9720b1d5b6657fd88cd946bc51707f20551b790f86474650abf9
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-edge-colbert-v0-32mDate: 2026-11-14Commit: bb13a29Signed: 2DC28CC7B26A283B ✓
Upstream
mixedbread-ai/mxbai-edge-colbert-v0-32m
Pinned commit
bb13a29ec9b1e7edd4ba8f7a0776c48b55cbad66
Manifest
mxbai-edge-colbert-v0-32m.json · .minisig
Manifest sha256
f9171f7a7d4fb004a92550177c0f987556445f53ba3f3dbe81d1b1206d154224
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-edge-colbert-v0-32m.json $ curl -O https://freeweights.allternit.com/manifests/mixedbread-ai/mxbai-edge-colbert-v0-32m.json.minisig $ minisign -Vm mxbai-edge-colbert-v0-32m.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-edge-colbert-v0-32m
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. mxbai-edge-colbert-v0-32m.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