Qdrant
qdrant/qdrant (read quadrant) β a vector similarity search engine and vector database written in Rust. It stores points (a vector plus an arbitrary JSON payload) and serves fast nearest-neighbour search with strong filtering β combining semantic similarity with structured constraints on the payload (faceted search, metadata filters). Production-ready API, fast and reliable under load, self-hostable via a single Docker image, or run as managed Qdrant Cloud (with a free tier).
In the LLM App Engineering Stack this is the vector-storage / retrieval lane β where embeddings from an embedder (VoyageAI) over chunks (Chonkie) live and get searched at query time. Itβs the classic backbone of embedding-based RAG; worth pairing in the mind with the vectorless counter-approaches I track (PageIndex, Structural Retrieval for Code) that argue βdonβt always reach for a vector DB.β
π Links
Description
- Repo: https://github.com/qdrant/qdrant
- Site: https://qdrant.tech Β· Cloud: https://cloud.qdrant.io
- Docs / quickstart: https://qdrant.tech/documentation/quickstart/
- License: Apache-2.0
Download or use
# self-host
docker run -p 6333:6333 qdrant/qdrantfrom qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams
client = QdrantClient("localhost", port=6333)
client.create_collection(
"docs",
vectors_config=VectorParams(size=1024, distance=Distance.COSINE),
)
# upsert points (vector + payload), then query with filtersποΈ Description
π§© Core capabilities
- Filtered vector search β the differentiator: rich payload filters applied during search, not as a slow post-filter β good for faceted/metadata-constrained retrieval.
- Written in Rust β fast and memory-safe under high load; published benchmarks.
- Payloads β attach JSON to each vector; return it with results (no second lookup).
- Production API β REST + gRPC, official clients (Python, JS/TS, Rust, Goβ¦).
- Deploy anywhere β Docker/K8s self-host, or managed Cloud with a free tier; quantization + on-disk storage for scale.
- Agent Skills + integrations across the RAG ecosystem.
βοΈ Reasoning for
- Default vector store β when a build genuinely needs embedding search, Qdrantβs filtering + Rust performance make it a strong, self-hostable default (over pgvector when scale/filtering matter).
- Metadata-aware retrieval β βfind similar chunks from this document / after this date / of this typeβ is a first-class query, not a hack.
- No lock-in β Apache-2.0 and self-hostable; Cloud is an option, not a requirement.
Weak points: itβs infrastructure to run and keep healthy; for small corpora pgvector or even in-memory is simpler; and the whole vector-DB approach isnβt always the right retrieval strategy β structural/vectorless retrieval (PageIndex, GrepRAG) can beat it for code and long structured docs.
Alternatives considered
- pgvector (Postgres) β reuse your existing DB; simplest for modest scale, weaker on large-scale ANN + filtering.
- Weaviate / Milvus β comparable open-source vector DBs; benchmark on your filter patterns + scale.
- Pinecone β fully managed, zero-ops, proprietary + paid.
- PageIndex / vectorless retrieval β skips embeddings entirely for long docs; different trade-off, sometimes better recall + explainability.
π Resources
- Docs: https://qdrant.tech/documentation/
- Benchmarks: https://qdrant.tech/benchmarks/
- Cloud: https://cloud.qdrant.io
Template: tool