llama-index-vector-stores-qdrant
Qdrant vector database integration for LlamaIndex with dense, sparse, and hybrid search.
Repository Health
Technical Analysis
llama-index-vector-stores-qdrant is an official LlamaIndex integration that uses the Qdrant vector database as a storage and retrieval backend. It exposes QdrantVectorStore, which stores document embeddings and metadata in Qdrant collections and serves similarity queries through LlamaIndex’s standard vector-store interface.
Beyond plain dense-vector search, the integration supports sparse vectors and hybrid search that fuses dense and sparse results, optional FastEmbed sparse models, custom fusion functions, metadata filtering, and both synchronous and asynchronous query paths. This makes Qdrant a practical, production-grade backend for retrieval-augmented generation (RAG) applications built on LlamaIndex.
What You Get
QdrantVectorStore, a LlamaIndex vector store backed by Qdrant collections- Dense, sparse, and hybrid (fused) search modes
- Optional FastEmbed sparse-model support and custom sparse encoder functions
- Configurable hybrid fusion and metadata filtering
- Both synchronous and asynchronous query and ingestion APIs
Common Use Cases
- Persisting document embeddings in Qdrant for a LlamaIndex RAG pipeline
- Running hybrid dense-plus-sparse retrieval for higher-quality results
- Filtering retrieval by metadata alongside vector similarity
- Scaling a production RAG backend on a dedicated vector database
Under The Hood
Architecture - The integration provides a llama_index.vector_stores.qdrant module whose base.py defines QdrantVectorStore as a BasePydanticVectorStore. It wraps qdrant-client’s sync and async clients, manages collection creation with dense and optional sparse vector configs, converts LlamaIndex nodes to Qdrant points, and translates queries (including hybrid fusion via a configurable callable) back into VectorStoreQueryResult. Sparse encoding helpers and default/FastEmbed encoders live in utils.py.
Tech Stack - A Python (>=3.10,<3.14) package built with Hatchling, depending on qdrant-client, grpcio for gRPC transport, and llama-index-core. An optional fastembed extra enables built-in sparse embedding models. It resides in the llama-index-integrations/vector_stores tree of the run-llama/llama_index monorepo.
Code Quality - The package ships a tests/ suite with a conftest.py and test_vector_stores_qdrant.py, includes a py.typed marker for typed distribution, and inherits the monorepo’s Ruff/Black/mypy/codespell tooling and coverage gates. The main store is a well-annotated Pydantic model.
API Design - Configuration is expressive but sensibly defaulted: you pass a Qdrant client and collection name to get dense search, then opt into enable_hybrid, sparse encoders, or a custom fusion function as needed. Implementing the standard LlamaIndex vector-store interface means it drops into existing indexes and query engines without special handling.
Used by 2 apps in this directory
MLflow
AI Development · Monitoring
The open source AI engineering platform for debugging, evaluating, monitoring, and optimizing production LLMs and agents at scale.
PrivateGPT
AI Development
The open-source API layer that turns local LLMs into production private AI applications with full Claude API compatibility