Embeddings
Numerische Vektordarstellungen von Text, Bildern oder anderen Daten, die semantische Bedeutung in einem hochdimensionalen Raum abbilden.
Eine spezialisierte Datenbank, die hochdimensionale Vektoren (Embeddings) speichert und effiziente Ähnlichkeitssuchen ermöglicht.
Eine Vektordatenbank ist eine spezielle Datenbank, die für die Speicherung und Suche von Embeddings optimiert ist. Während eine normale Datenbank nach exakten Werten sucht (“Finde alle Kunden mit PLZ 10115”), sucht eine Vektordatenbank nach Ähnlichkeit (“Finde die 10 Dokumente, die dieser Frage am ähnlichsten sind”).
Warum braucht man eine Vektordatenbank?
Wenn du ein RAG-System baust, musst du:
Eine Vektordatenbank löst genau diese Aufgaben.
Der typische Workflow:
Vergleich der Optionen:
Lösung Vektoren Latenz Aufwand Ideal für In-Memory (NumPy) < 10K Schnell Minimal Prototypen pgvector < 1M Gut Gering Bestehende PostgreSQL-Infrastruktur ChromaDB < 1M Gut Gering Lokale Entwicklung Qdrant/Weaviate < 100M Sehr gut Mittel Produktion Pinecone < 1B Sehr gut Gering (Managed) Enterprise
Die Herausforderung: Exakte Nearest-Neighbor-Suche in hochdimensionalen Räumen ist extrem langsam (O(n) pro Query). Vektordatenbanken nutzen Approximate Nearest Neighbor (ANN) Algorithmen:
HNSW (Hierarchical Navigable Small World):
IVF (Inverted File Index):
Product Quantization (PQ):
Moderne Vektordatenbanken unterstützen:
Metadata-Filterung:
Hybrid Search:
Sharding:
Replikation:
Eine Vektordatenbank ist wie eine Bibliothek, die Bücher nicht nach Alphabet oder Genre sortiert, sondern nach inhaltlicher Ähnlichkeit – wenn du ein Buch über Hunde suchst, findest du automatisch auch Bücher über Welpen, Hundeerziehung und Tiermedizin in der Nähe.
Speichert Embedding-Vektoren und ermöglicht schnelle Ähnlichkeitssuchen
Kernkomponente von RAG-Systemen und semantischer Suche
Nutzt spezielle Indexstrukturen (HNSW, IVF) für effiziente Suche in Millionen von Vektoren
RAG-Systeme
Speicherung und Abruf von Dokument-Embeddings für LLM-gestützte Frage-Antwort-Systeme
Semantische Suche
Suche nach Bedeutung statt nach Keywords in Produktkatalogen, Dokumenten oder Wissensdatenbanken
Empfehlungssysteme
Ähnliche Produkte, Filme oder Musik basierend auf Embedding-Ähnlichkeit empfehlen
Anomalieerkennung
Ungewöhnliche Datenpunkte identifizieren, die weit von normalen Vektoren entfernt liegen
Für Prototypen reicht oft eine einfache In-Memory-Lösung oder eine Erweiterung wie pgvector für PostgreSQL. Für Produktion mit vielen Dokumenten und hohen Anforderungen an Latenz und Skalierung ist eine dedizierte Vektordatenbank empfehlenswert.
Klassische Datenbanken sind für exakte Suche optimiert (WHERE name = 'Max'). Vektordatenbanken sind für Ähnlichkeitssuche optimiert – sie finden die nächsten Nachbarn eines Vektors in einem hochdimensionalen Raum, was mit klassischen Indizes nicht effizient möglich ist.
Moderne Vektordatenbanken skalieren auf Hunderte Millionen bis Milliarden Vektoren. Die Limits hängen von der Vektordimension, dem verfügbaren RAM und der gewählten Indexstruktur ab.
Ja, mit der pgvector-Erweiterung. Für kleinere Datensätze (< 1M Vektoren) ist das eine pragmatische Lösung, die keine zusätzliche Infrastruktur erfordert. Für größere Datensätze sind spezialisierte Lösungen performanter.
Managed Vektordatenbank mit einfacher API und Auto-Scaling
Open-Source Vektordatenbank mit integrierter Vektorisierung und GraphQL-API
Hochperformante Open-Source Vektordatenbank in Rust geschrieben
Leichtgewichtige Open-Source Vektordatenbank, ideal für Prototyping