fastembed  by qdrant

Fast embedding SDK for text and images

created 2 years ago
2,253 stars

Top 20.5% on sourcepulse

GitHubView on GitHub
Project Summary

FastEmbed is a lightweight, fast Python library for generating text, image, and multimodal embeddings using state-of-the-art models. It targets developers and researchers needing efficient embedding generation for applications like retrieval-augmented generation (RAG), semantic search, and recommendation systems, offering a faster and more memory-efficient alternative to larger libraries.

How It Works

FastEmbed leverages the ONNX Runtime for accelerated inference, enabling faster execution compared to PyTorch. It supports various embedding types, including dense text, sparse text (SPLADE++), late interaction (ColBERT), image, and multimodal embeddings. The library allows for easy model switching and custom model integration, with options for CPU and GPU acceleration.

Quick Start & Requirements

Highlighted Details

  • Supports dense, sparse, late interaction, image, and multimodal embeddings.
  • Outperforms OpenAI Ada-002 and is faster/lighter than Transformers/Sentence-Transformers.
  • ONNX Runtime backend for speed and reduced dependencies.
  • GPU acceleration via fastembed-gpu package.
  • Integrates seamlessly with Qdrant client (qdrant-client[fastembed]).
  • Allows adding custom models via add_custom_model.

Maintenance & Community

  • Supported and maintained by Qdrant.
  • Active development indicated by frequent updates and model additions.

Licensing & Compatibility

  • Apache 2.0 License.
  • Permissive, allowing commercial use and integration with closed-source applications.

Limitations & Caveats

The library is primarily focused on ONNX-compatible models; other model formats may require conversion. While it aims for broad compatibility, specific model performance can vary.

Health Check
Last commit

2 days ago

Responsiveness

1 week

Pull Requests (30d)
4
Issues (30d)
2
Star History
238 stars in the last 90 days

Explore Similar Projects

Starred by Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera) and Stas Bekman Stas Bekman(Author of Machine Learning Engineering Open Book; Research Engineer at Snowflake).

InternEvo by InternLM

1.0%
402
Lightweight training framework for model pre-training
created 1 year ago
updated 1 week ago
Feedback? Help us improve.