Qdrant
Type: full-code · Vendor: Qdrant · Language: Rust · License: Apache-2.0 · Status: active · Status in practice: mature · First released: 2021-05-01
Qdrant is a vector database that stores embeddings as points and retrieves the most similar ones at query time, with payload-based partitioning so one shared instance can isolate each user's or tenant's vectors.
Description. Qdrant is an open-source vector search engine written in Rust. It stores vectors (embeddings) together with JSON payloads and returns the nearest neighbours for a query vector, which is how agents and RAG pipelines retrieve semantically similar memories or documents. Search can be filtered by payload conditions and combined across dense and sparse vectors. For multi-user deployments, Qdrant supports payload-based partitioning within a single collection so each tenant can only access their own vectors.
Agent loop shape. Qdrant is the retrieval backend an agent calls, not an agent loop. Documents or memories are embedded and upserted as points with payloads; at query time the agent embeds its query and asks Qdrant for the top-k nearest points, optionally constrained by a payload filter. In multi-tenant use the query carries a tenant identifier filter so the search only ranges over that tenant's vectors, and the returned items are fed back into the agent's context.
Primary use cases
- storing embeddings for semantic retrieval
- nearest-neighbour vector search for RAG and agent memory
- payload-filtered and hybrid search
- multi-tenant vector isolation
Key concepts
- Point → vector-memory (docs) — Qdrant's stored unit: a vector (embedding) together with an optional JSON payload and id, which is what nearest-neighbour search ranks and returns.
- Payload filter (docs) — Conditions (must / should / must_not) on payload fields applied alongside vector similarity so search ranges only over points matching the metadata constraints.
- Hybrid query → hybrid-search (docs) — A query combining dense and sparse vector results, fused via Reciprocal Rank Fusion or Distribution-Based Score Fusion, to get both semantic and exact-keyword relevance.
- Prefetch → cross-encoder-reranking (docs) — A nested sub-query whose results the outer query re-scores, enabling multi-stage retrieval where a cheap vector fetches candidates and a richer representation reranks them.
Patterns this full-code implements —
- ★★Vector Memory
Qdrant stores embeddings as the core unit of search and returns the most similar points for a query vector, which is the mechanism agents use to retrieve semantically relevant memories and documents.
- ★★Hybrid Search
Qdrant's hybrid query fuses results from dense and sparse vectors, combining semantic understanding from dense embeddings with precise keyword matching from sparse vectors, using fusion methods such…
- ★Tenant-Scoped Tool Binding
In a shared instance Qdrant partitions vectors by a tenant identifier in the payload and filters every search on it, so each user or tenant can only reach their own vectors and cannot see another ten…
- ★★Cross-Encoder Reranking
Qdrant supports multi-stage retrieval where a cheap representation fetches a large candidate set and a larger, more accurate representation (e.g. a ColBERT multi-vector model) re-scores the candidate…
Neighbourhood
Click any neighbour to follow the lineage. Scroll to zoom, drag to pan.