⚡️ What is FastEmbed?
FastEmbed is a lightweight, fast, Python library built for embedding generation. We support popular text models. Please open a Github issue if you want us to add a new model.
Light & Fast
- Quantized model weights
- ONNX Runtime for inference
Accuracy/Recall
- Better than OpenAI Ada-002
- Default is Flag Embedding, which has shown good results on the MTEB leaderboard
- List of supported models - including multilingual models
Here is an example for Retrieval Embedding Generation and how to use FastEmbed with Qdrant.
🚀 Installation
To install the FastEmbed library, pip works:
pip install fastembed
📖 Usage
from fastembed import TextEmbeddingdocuments: list[str] = ["passage: Hello, World!","query: Hello, World!","passage: This is an example passage.","fastembed is supported by and maintained by Qdrant."]embedding_model = TextEmbedding()embeddings: list[np.ndarray] = embedding_model.embed(documents)
Usage with Qdrant
Installation with Qdrant Client in Python:
pip install qdrant-client[fastembed]
Might have to use pip install 'qdrant-client[fastembed]' on zsh.
from qdrant_client import QdrantClient# Initialize the clientclient = QdrantClient(":memory:") # Using an in-process Qdrant# Prepare your documents, metadata, and IDsdocs = ["Qdrant has Langchain integrations", "Qdrant also has Llama Index integrations"]metadata = [{"source": "Langchain-docs"},{"source": "Llama-index-docs"},]ids = [42, 2]client.add(collection_name="demo_collection",documents=docs,metadata=metadata,ids=ids)search_result = client.query(collection_name="demo_collection",query_text="This is a query document")print(search_result)
