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

mxbai-edge-colbert-v0-17m

Date: 2026-11-14Commit: 592c641Signed: 2DC28CC7B26A283B ✓

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

17M params157MBmxbai-edge-colbert-v0-17monnx safetensorspermissive
FactsParams17MSize157 MBFormatsonnx, safetensorsTasksentence similarityLicenseApache-2.0From sourcepermissive
$ fw get mixedbread-ai/mxbai-edge-colbert-v0-17m
# manifest sha256 b45a8f53437c… · 157 MB · 18 files
$ fw verify ./mxbai-edge-colbert-v0-17m mixedbread-ai/mxbai-edge-colbert-v0-17m
From sourceHosted (signed)mixedbread-ai/mxbai-edge-colbert-v0-17mLast 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
157 MB
Weights
67.9 MB (safetensors)
Parameters
17M
Formats
onnx, safetensors
Task
sentence similarity
License
Apache-2.0 (permissive)
Files
18, 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 592c641. 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-17m#

This model is a lightweight, 17 million parameter ColBERT with a projection dimension of 48. It is built on top of Ettin-17M, 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-17m")

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, 48) (18, 48)

# MaxSim late-interaction scoring (higher is more relevant)
scores = model.similarity(query_embeddings, document_embeddings)
print(scores)
# tensor([[11.5693, 11.7584, 11.7099, 11.7229]])
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-17m",
)


# 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-17m",
)

# 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

18 files · 157 MBWeights 67.9 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 18 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
1_Dense/config.json133 Bfdedbe7da07dafae623a002bcde227e767b8129da964fd90a3da301e3c7f929f
1_Dense/model.safetensors524 KBcbd910c4bc2a0338f58f08b4a840770b38bceda90eb1c433233cbf227121bee1
2_Dense/2_Dense/model.safetensors98.4 KB8e724279af3acf91c20d4a4dd33c6bd272f80b02095ff969e8a3f3de6432175c
2_Dense/config.json132 Bd0e3d51270eb8bef21c3f321b2848ebfc2894d5e93fde02f7f09a8c7308748f0
2_Dense/model.safetensors98.4 KB8e724279af3acf91c20d4a4dd33c6bd272f80b02095ff969e8a3f3de6432175c
README.md70.1 KB0d177ea3615e2842ea6523d144d60d35c0cbc9d0e534012c319b4eb6bf7b2fb6
config.json1.25 KB8dfe2360cfa456796f9f2f27d87dbbda083d0329320542b871cea6d34d2c5e8c
config_sentence_transformers.json760 B629c4f00d1ac23abe86fec195dc90a7799ee33ceae236df6a3c026d8db018816
model.onnx68.0 MBa2fb3ad410f1b68479caa31e9d6821213050ef25804cb9a3c9ba963e72503f46
model.safetensors67.2 MB63e9d246f0166ceafa8bd63ee52cb929335ca30110efdb28e7f877c7aa641ca1
model_int8.onnx17.2 MB1d4a2876f8c325f43b97d186e22f6b63ebe9820827d73b81fcea180c20e5518b
modules.json319 B930b80c6d74f342665da7c56d01a9d906176ba3c74dd9f332cea8922121c4bbf
onnx_config.json803 Be12026a07eb05b45dbe2a5677390c6b968c511cdfb2281a2156589bf48e27750
sentence_bert_config.json57 B418d0ad8b3489d2505453940b1d635e2ec7099fad599ea97d64cd116eb468e76
special_tokens_map.json581 B6edfb9d64c0d7e5cbaa53516e90280fe1f42ba5ea7923d005a5f9b6e082142cf
tokenizer.json3.58 MB594291000b476c98ed600cbb1914ff128c79642a9433aac86213c7a5562d7c1a
tokenizer_config.json21.2 KBcf6fbfaeb7553a572debf790d8b8bac09686648b83827e01b3efed0470e9f338
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
592c6417c1 pinned now manifest updated, same commit2026-11-14 21:09 UTC18 files · 157 MB
592c6417c12026-11-14 21:09 UTC18 files · 157 MB

Use it

$ fw get mixedbread-ai/mxbai-edge-colbert-v0-17m
# manifest sha256 b45a8f53437c… · 157 MB · 18 files
$ fw verify ./mxbai-edge-colbert-v0-17m mixedbread-ai/mxbai-edge-colbert-v0-17m
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-17m.json --dir ./mxbai-edge-colbert-v0-17m $ python3 fw.py verify ./mxbai-edge-colbert-v0-17m ./mixedbread-ai__mxbai-edge-colbert-v0-17m.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-17m --revision 592c6417c1c6687572043408ed1ae5196bce16b1 --local-dir ./mxbai-edge-colbert-v0-17m
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-17m", revision="592c6417c1c6687572043408ed1ae5196bce16b1") model = AutoModel.from_pretrained("mixedbread-ai/mxbai-edge-colbert-v0-17m", revision="592c6417c1c6687572043408ed1ae5196bce16b1", 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-17m", revision="592c6417c1c6687572043408ed1ae5196bce16b1") 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
0d177ea3615e2842ea6523d144d60d35c0cbc9d0e534012c319b4eb6bf7b2fb6
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-17mDate: 2026-11-14Commit: 592c641Signed: 2DC28CC7B26A283B ✓
Upstream
mixedbread-ai/mxbai-edge-colbert-v0-17m
Pinned commit
592c6417c1c6687572043408ed1ae5196bce16b1
Manifest
mxbai-edge-colbert-v0-17m.json · .minisig
Manifest sha256
b45a8f53437caf95d75cc3708f766598d8c798a1f1fefa5c18bef622838beb15
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-17m.json $ curl -O https://freeweights.allternit.com/manifests/mixedbread-ai/mxbai-edge-colbert-v0-17m.json.minisig $ minisign -Vm mxbai-edge-colbert-v0-17m.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-17m
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-17m.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