qdrant-vector-search

Implement vector similarity search and filtered retrieval for RAG systems using Qdrant.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/xu1713/openhorse --skill qdrant-vector-search-xu1713
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: qdrant-vector-search
Source: https://github.com/xu1713/openhorse/tree/main/openhorse/openhorse/optional-skills/mlops/qdrant
Command: npx skills add https://github.com/xu1713/openhorse --skill qdrant-vector-search-xu1713

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires qdrant-client, and includes references (resource) components.

What problem does it solve? Building production RAG and semantic search systems requires a vector database that handles fast nearest neighbor search, metadata filtering, and horizontal scaling without sacrificing latency or data control. ## Core Features & Use Cases - Vector Search with Filtering: Perform nearest neighbor search combined with payload filters, geo queries, and full-text conditions using the qdrant-client Python library. - Hybrid and Multi-Vector Search: Combine dense and sparse vectors with Reciprocal Rank Fusion, and store multiple named vectors per point. - Production Scaling: Configure HNSW parameters, scalar/product/binary quantization, sharding, replication, and snapshots for large-scale deployments. - Use Case: Build a knowledge base RAG pipeline by encoding documents with sentence-transformers, upserting them into a Qdrant collection, and retrieving top-k context chunks filtered by source metadata. ## Quick Start Use the qdrant skill to create a collection, upsert embedded documents, and run a filtered similarity search against a local Qdrant instance.

Frequently Asked Questions about qdrant-vector-search

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I perform vector similarity search with Qdrant in Python?

Install qdrant-client, create a collection with VectorParams specifying dimension and distance metric, upsert PointStruct objects with vectors and payloads, then call client.search with a query vector and limit. Filters can be added via the query_filter parameter.

Qdrant vs Pinecone vs FAISS for vector search?

Qdrant offers self-hosted deployment with rich payload filtering and Rust-based performance. FAISS suits raw-speed batch research without a server, while Pinecone is fully managed with zero operations. Chroma fits simpler embedded use cases.

Does Qdrant support hybrid search with sparse vectors?

Yes, Qdrant supports collections with both dense and sparse vector configurations. You can prefetch results from each vector type and fuse them using Reciprocal Rank Fusion via the query_points API with FusionQuery.

Why is my Qdrant filtered search slow?

Slow filtered search usually means missing payload indexes on filtered fields. Create a payload index with client.create_payload_index for fields like category or timestamp, and consider enabling scalar quantization for large collections.

How do I fix vector dimension mismatch errors in Qdrant?

The error occurs when inserted vectors differ from the collection's configured size. Check the expected dimension with client.get_collection, then recreate the collection with VectorParams matching your embedding model's output size.

Can Qdrant reduce memory usage for large vector collections?

Yes, Qdrant supports scalar quantization for roughly 4x memory reduction, product quantization for 16x, and binary quantization for 32x. You can also enable on_disk_payload and on-disk HNSW storage to move data off RAM.