Qdrant
Vector database for AI applications.
Overview
Qdrant is a high-performance vector similarity search engine built specifically for AI and machine learning applications. Developed in Rust for optimal performance, Qdrant serves as a specialized database for storing and searching high-dimensional vectors, making it essential for modern AI workflows like semantic search, recommendation systems, and retrieval-augmented generation (RAG). Unlike traditional databases that work with structured data, Qdrant excels at finding similar vectors using advanced algorithms like HNSW (Hierarchical Navigable Small World) indexing.
This Docker deployment provides both REST API access on port 6333 and gRPC interface on port 6334, enabling flexible integration with various programming languages and frameworks. Qdrant combines vector search capabilities with traditional filtering on payload data, allowing complex queries that blend semantic similarity with structured criteria. The built-in web dashboard provides real-time insights into collections, search performance, and cluster health.
This setup is ideal for AI engineers building semantic search applications, data scientists experimenting with embeddings, and companies implementing recommendation engines. Qdrant's self-hosted nature eliminates vendor lock-in concerns while providing enterprise-grade performance and scalability. The containerized deployment simplifies development workflows and enables consistent behavior across different environments without complex configuration management.
Key Features
- HNSW indexing algorithm for fast approximate nearest neighbor search with tunable precision
- Payload filtering system combining vector similarity with structured data queries
- Scalar and product quantization for reduced memory usage and faster search
- Built-in web dashboard for collection management and query performance monitoring
- Dual API support with REST endpoints and high-performance gRPC interface
- Sparse vector support for hybrid search combining dense and sparse embeddings
- Real-time data updates without requiring full index rebuilds
- Recommendation API for finding similar items based on positive and negative examples
Common Use Cases
- 1Semantic search engines for documents, articles, and knowledge bases using text embeddings
- 2E-commerce recommendation systems finding similar products based on user behavior patterns
- 3Retrieval-augmented generation (RAG) applications for chatbots and question-answering systems
- 4Image similarity search for photo management, visual product discovery, and content moderation
- 5Anomaly detection systems identifying unusual patterns in high-dimensional sensor or transaction data
- 6Content personalization platforms matching users with relevant articles, videos, or music
- 7Drug discovery and bioinformatics applications searching molecular fingerprint databases
Prerequisites
- Minimum 2GB RAM recommended for production workloads with substantial vector collections
- Docker Engine 20.10+ and Docker Compose v2 for optimal container performance
- Available ports 6333 (REST API) and 6334 (gRPC) not conflicting with existing services
- Understanding of vector embeddings and similarity search concepts for effective usage
- Python development environment with qdrant-client library for application integration
- Sufficient disk space for vector storage (varies by collection size and dimensionality)
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 qdrant: 3 image: qdrant/qdrant:latest4 container_name: qdrant5 restart: unless-stopped6 volumes: 7 - qdrant_data:/qdrant/storage8 ports: 9 - "6333:6333"10 - "6334:6334"1112volumes: 13 qdrant_data: .env Template
.env
1# No configuration neededUsage Notes
- 1Docs: https://qdrant.tech/documentation/
- 2REST API at http://localhost:6333, gRPC at localhost:6334
- 3Dashboard at http://localhost:6333/dashboard for exploration
- 4Python client: pip install qdrant-client
- 5Create collection: client.create_collection(name, vectors_config)
- 6Supports filtering, payload indexing, and hybrid search
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 qdrant:5 image: qdrant/qdrant:latest6 container_name: qdrant7 restart: unless-stopped8 volumes:9 - qdrant_data:/qdrant/storage10 ports:11 - "6333:6333"12 - "6334:6334"1314volumes:15 qdrant_data:16EOF1718# 2. Create the .env file19cat > .env << 'EOF'20# No configuration needed21EOF2223# 3. Start the services24docker compose up -d2526# 4. View logs27docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/qdrant/run | bashTroubleshooting
- Connection refused on port 6333: Verify container is running with 'docker ps' and check firewall settings
- Out of memory errors during indexing: Increase Docker memory limits or reduce batch sizes in client code
- Slow search performance: Check vector dimensions match collection config and consider enabling quantization
- Collection creation fails with dimension mismatch: Ensure all vectors have consistent dimensionality matching collection config
- Dashboard not loading at localhost:6333: Clear browser cache and verify container logs for startup errors
- gRPC connection timeout on port 6334: Install grpcio-tools and verify client gRPC configuration matches server settings
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Ad Space
Shortcuts: C CopyF FavoriteD Download