Qdrant: Erweiterte Funktionen der Vektorsuche
Nutzen Sie die leistungsstarken Funktionen von Qdrant: Payload-Indexierung, quantization, verteilte Bereitstellung für leistungsstarke RAG-Systeme.
Warum Qdrant ?
- Open-source und selbst gehostet
- Erweiterte Filterung
- Quantization scalaire (4x kleiner)
- Verteiltes Clustering
- Integrierte sparse vectors
Configuration Docker
DEVELOPERbashdocker run -p 6333:6333 qdrant/qdrant
DEVELOPERpythonfrom qdrant_client import QdrantClient from qdrant_client.models import Distance, VectorParams client = QdrantClient("localhost", port=6333) # Eine Collection erstellen client.create_collection( collection_name="documents", vectors_config=VectorParams( size=1536, distance=Distance.COSINE ) )
Indexierung von Payload
Indexer les métadonnées pour un filtrage rapide :
DEVELOPERpython# Einen Index für das Feld "category" erstellen client.create_payload_index( collection_name="documents", field_name="category", field_schema="keyword" ) # Einen Index für das numerische Feld "price" erstellen client.create_payload_index( collection_name="documents", field_name="price", field_schema="integer" ) # Jetzt ist das Filtern schnell results = client.search( collection_name="documents", query_vector=embedding, query_filter=Filter( must=[ FieldCondition(key="category", match=MatchValue(value="tech")), FieldCondition(key="price", range=Range(lt=100)) ] ), limit=10 )
Quantization (Kompression 4x)
DEVELOPERpythonfrom qdrant_client.models import ScalarQuantization, ScalarType, QuantizationSearchParams # Quantization aktivieren client.update_collection( collection_name="documents", quantization_config=ScalarQuantization( type=ScalarType.INT8, quantile=0.99, always_ram=True ) ) # Mit Quantization suchen results = client.search( collection_name="documents", query_vector=embedding, search_params=QuantizationSearchParams( ignore=False, # Utiliser les vecteurs quantizés rescore=True # Rescorer avec précision complète ), limit=10 )
Ergebnis: Index 1GB → 256MB (4x kleiner, 10% Genauigkeitsverlust)
Verteilte Bereitstellung
DEVELOPERyaml# docker-compose.yml version: '3.8' services: qdrant-node1: image: qdrant/qdrant environment: - QDRANT__CLUSTER__ENABLED=true - QDRANT__CLUSTER__P2P__PORT=6335 ports: - "6333:6333" qdrant-node2: image: qdrant/qdrant environment: - QDRANT__CLUSTER__ENABLED=true - QDRANT__CLUSTER__P2P__PORT=6335 - QDRANT__CLUSTER__BOOTSTRAP__P2P__URI=qdrant-node1:6335
Sparse vectors (Hybride Suche)
DEVELOPERpythonfrom qdrant_client.models import SparseVector, NamedVector # Einfügen mit dense und sparse client.upsert( collection_name="hybrid", points=[{ "id": 1, "vector": { "dense": [0.1, 0.2, ...], # Dense-embedding "sparse": SparseVector( indices=[10, 45, 123], values=[0.5, 0.3, 0.2] ) }, "payload": {"text": "..."} }] ) # Hybride Suche results = client.query_points( collection_name="hybrid", prefetch=[ Prefetch(using="dense", query=[0.1, 0.2, ...], limit=100), Prefetch(using="sparse", query=SparseVector(...), limit=100) ], query=FusionQuery(fusion=Fusion.RRF), limit=10 )
Qdrant vereint Leistung, Flexibilität und Performance. Perfekt für fortgeschrittene RAG-Anwendungsfälle.
Tags
Verwandte Artikel
Beste Vektordatenbanken 2025: Pinecone vs Qdrant vs Weaviate
Umfassender Vergleich von Vektordatenbanken für RAG: Pinecone, Qdrant, Weaviate, Milvus, Chroma. Benchmarks, Preise und Empfehlungen je nach Anwendungsfall.
Milvus: Vektorielle Suche im Milliardenmaßstab
Setzen Sie Milvus für ein produktionsfähiges RAG ein, das Milliarden von Vektoren verwaltet, mit horizontaler Skalierung und GPU-Beschleunigung.
Pinecone für RAG in großskaliger Produktion
Setzen Sie produktionsbereite Vektorsuche ein: Konfiguration von Pinecone, Indexierungsstrategien und Skalierung bis zu Milliarden von Vektoren.