Was ist eine Vektordatenbank?
Eine Vektordatenbank ist ein Datenbanksystem, das darauf spezialisiert ist, hochdimensionale Vektoren (Embeddings) zu speichern und effizient nach ähnlichen Vektoren zu suchen. Sie ist eine Kernkomponente moderner KI-Anwendungen, insbesondere für RAG-Pipelines.
Wie funktioniert Vektorisierung?
- Eingabe: Ein Text (z.B. ein Absatz aus einem Dokument) wird an ein Embedding-Modell übergeben
- Embedding: Das Modell wandelt den Text in einen numerischen Vektor um (z.B. 1536 Dimensionen)
- Speicherung: Der Vektor wird zusammen mit dem Originaltext in der Vektordatenbank gespeichert
- Suche: Eine Suchanfrage wird ebenfalls vektorisiert und die ähnlichsten Vektoren werden abgerufen
Semantische vs. Keyword-Suche
| Eigenschaft | Keyword-Suche | Semantische Suche (Vektor) |
|---|
| Matching | Exakte Wortübereinstimmung | Bedeutungsähnlichkeit |
| Synonyme | Nicht erkannt | Automatisch berücksichtigt |
| Sprache | Sprachabhängig | Sprachübergreifend möglich |
| Tippfehler | Problematisch | Tolerant |
Bekannte Vektordatenbanken
| Datenbank | Besonderheit |
|---|
| Qdrant | Open Source, Rust-basiert, performant |
| Pinecone | Managed Service, einfache API |
| Weaviate | Open Source, hybride Suche |
| Milvus | Open Source, hochskalierbar |
| pgvector | PostgreSQL-Erweiterung |
Einsatzgebiete
- Dokumentensuche: Interne Wissensdatenbanken durchsuchen (RAG)
- Recommendation Engines: Ähnliche Produkte oder Inhalte empfehlen
- Bildsuche: Ähnlichkeitssuche über Bild-Embeddings
- Anomalieerkennung: Ungewöhnliche Muster in Daten identifizieren
Vorteile
- Semantisches Verständnis: Findet relevante Ergebnisse, auch wenn keine exakten Keywords vorkommen
- Skalierbarkeit: Millionen von Vektoren mit Millisekunden-Latenz durchsuchbar
- Flexibilität: Text, Bilder, Audio – alles lässt sich vektorisieren
- KI-Integration: Nahtlose Einbindung in LLM-Anwendungen