FastEmbed is a lightweight Python library for embedding generation using ONNX Runtime, with multiple model options and GPU support via separate package. It supports text, sparse, and multimodal embeddings and provides Qdrant integration examples.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
FastEmbed is a lightweight, fast, Python library built for embedding generation. It supports popular text models and includes Dense, Sparse, Late Interaction (ColBERT), and multimodal embeddings, with examples for integration with Qdrant.
How it works
The library uses ONNX Runtime to perform embeddings, aiming to be fast and lightweight with optional GPU support via a separate package. It exposes a TextEmbedding interface and allows adding custom models. It includes modules for dense text embeddings, sparse embeddings, late-interaction models, and multimodal embeddings, along with a reranker (cross-encoder) component.
Getting started
Installation:
pip install fastembed
# or with GPU support
pip install fastembed-gpu
Quickstart:
from fastembed import TextEmbedding
documents = [
"This is built to be faster and lighter than other embedding libraries e.g. Transformers, Sentence-Transformers, etc.",
"fastembed is supported by and maintained by Qdrant.",
]
embedding_model = TextEmbedding()
print("The model BAAI/bge-small-en-v1.5 is ready to use.")
embeddings_generator = embedding_model.embed(documents)
embeddings_list = list(embedding_model.embed(documents))
Dense text embedding example:
from fastembed import TextEmbedding
model = TextEmbedding(model_name="BAAI/bge-small-en-v1.5")
embeddings = list(model.embed(documents))
Custom model example:
TextEmbedding.add_custom_model(
model="intfloat/multilingual-e5-small",
pooling=PoolingType.MEAN,
normalization=True,
sources=ModelSource(hf="intfloat/multilingual-e5-small"),
dim=384,
model_file="onnx/model.onnx",
)
model = TextEmbedding(model_name="intfloat/multilingual-e5-small")
embeddings = list(model.embed(documents))
Recent releases
- v0.8.0 (2026-03-23): Features include using CUDA if available and addition of colmodernvbert; Fixes include update to ColBERT de.
- v0.7.4 (2025-12-05): Features include avoiding network calls when model loaded from cache and exposing enable_cpu_mem_arena onnx session option; Fixes include related to padding token embeddings.
- v0.7.2 (2025-08-25): Features include MUVERA post processing module.
- v0.7.1 (2025-06-16): Features include improved warnings for model changes, and raising exceptions for incorrect pooling in custom models.
- v0.7.0 (2025-05-13): Features include a new sparse embeddings model with semantic understanding: MiniCOIL.
Traction
Stars: 3124
Behind the repo
Qdrant maintains the project and it has open-source community contributions.
Caveats
License: Apache-2.0 Created: 2023-07-14 Last push: 2026-07-22 Open issues: 103 Languages: Python Topics: embeddings, openai, rag, retrieval, retrieval-augmented-generation, vector-search






