Model reference · open weights

mxbai-edge-colbert

Embeddings mixedbread-ai Embeddings 2 builds Open weights 3k dl/mo

mxbai-edge-colbert is an open-weight embedding model from mixedbread-ai. mxbai-edge-colbert-v0-17m (FP32) weighs 34 MB; the smallest configuration that runs it is RTX 3060 12 GB.

  • mxbai-edge-colbert is a 32 million parameter ColBERT model developed by mixedbread-ai for sentence-similarity tasks.
  • It supports English text with a context length of 7999 tokens and is released under the Apache 2.0 license.
  • The model creates multi-vector representations for documents up to 32,000 tokens and is compatible with the PyLate library.

Summary of the mixedbread-ai/mxbai-edge-colbert-v0-32m model card, 2026-10-01. The estimate below is for another build of the family.

What it is

Released bymixedbread-ai
Released2025-10-13
Parameters32M
VRAM34 MB for the weights

What it runs on

Memory and cards for mxbai-edge-colbert-v0-17m (FP32)

34 MBweights, file size
1.1 GBruntime overhead
CardRunsMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
mxbai-edge-colbert-v0-32m ↗ 32MFP32 64 MBRTX 3060 12 GB
mxbai-edge-colbert-v0-17m (above) ↗ 17MFP32 34 MBRTX 3060 12 GB

From the model card

What mixedbread-ai says about mxbai-edge-colbert

Read the model card

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)

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

Benchmarks

Reported results

As published on the model card: the maker's own numbers, not measured by AxForge.

TaskDatasetMetricScore
Py Late Information RetrievalNanoClimateFEVERMaxsim Accuracy@10.280
Py Late Information RetrievalNanoClimateFEVERMaxsim Accuracy@30.400
Py Late Information RetrievalNanoClimateFEVERMaxsim Accuracy@50.520
Py Late Information RetrievalNanoClimateFEVERMaxsim Accuracy@100.760
Py Late Information RetrievalNanoClimateFEVERMaxsim Precision@10.280
Py Late Information RetrievalNanoClimateFEVERMaxsim Precision@30.153
Py Late Information RetrievalNanoClimateFEVERMaxsim Precision@50.132
Py Late Information RetrievalNanoClimateFEVERMaxsim Precision@100.114
Py Late Information RetrievalNanoClimateFEVERMaxsim Recall@10.132
Py Late Information RetrievalNanoClimateFEVERMaxsim Recall@30.196
Py Late Information RetrievalNanoClimateFEVERMaxsim Recall@50.269
Py Late Information RetrievalNanoClimateFEVERMaxsim Recall@100.432
Py Late Information RetrievalNanoClimateFEVERMaxsim Ndcg@100.321
Py Late Information RetrievalNanoClimateFEVERMaxsim Mrr@100.387
Py Late Information RetrievalNanoClimateFEVERMaxsim Map@1000.244
Py Late Information RetrievalNanoDBPediaMaxsim Accuracy@10.780
Py Late Information RetrievalNanoDBPediaMaxsim Accuracy@30.920
Py Late Information RetrievalNanoDBPediaMaxsim Accuracy@50.940
Py Late Information RetrievalNanoDBPediaMaxsim Accuracy@100.980
Py Late Information RetrievalNanoDBPediaMaxsim Precision@10.780
Py Late Information RetrievalNanoDBPediaMaxsim Precision@30.647
Py Late Information RetrievalNanoDBPediaMaxsim Precision@50.600
Py Late Information RetrievalNanoDBPediaMaxsim Precision@100.530
Py Late Information RetrievalNanoDBPediaMaxsim Recall@10.112
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms