llama-index-vector-stores-qdrant

Qdrant vector database integration for LlamaIndex with dense, sparse, and hybrid search.

Library
PyPI
v0.10.3
51,740stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
92/100Excellent
Development Activity100
Maintenance100
Community76
Maturity52
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
80/100Excellent
Architecture83
Code Quality84
Innovation76
Learning Curve78

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.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search