Vektordatenbanken und Ähnlichkeitssuche
Kurz: Eine Vektordatenbank speichert Embeddings und findet schnell die ähnlichsten zu einer Anfrage. Sie ist das Gedächtnis hinter semantischer Suche und RAG.
Genauer: Texte, Bilder oder Produkte werden mit einem Embedding-Modell in Vektoren verwandelt (siehe embedding-(vektordarstellung)). Ähnliche Bedeutung bedeutet kleiner Abstand. Die Datenbank sucht die „nächsten Nachbarn“.
Im Detail
- Ähnlichkeit: Kosinus-Ähnlichkeit oder Skalarprodukt (je größer, desto ähnlicher), manchmal euklidischer Abstand.
- Exakte Suche: Alle Vektoren vergleichen. Bei Millionen zu langsam.
- Näherungssuche (ANN): Schnell mit kleiner Ungenauigkeit. HNSW (Graph mit Schichten), IVF (Cluster), Produktquantisierung (Kompression).
- Systeme: pgvector (PostgreSQL), Qdrant, Weaviate, Milvus, Pinecone, FAISS (Bibliothek), SQLite-Erweiterungen.
- Metadaten-Filter: „nur Dokumente von 2024 und Sprache de“ kombiniert mit Ähnlichkeit.
- Chunking: Lange Dokumente in Abschnitte (200–1000 Token) teilen, jeder bekommt einen Vektor.
- Hybridsuche: Schlüsselwortsuche (BM25) und Vektorsuche kombinieren, danach ein Reranker.
- Qualität: Hängt stark vom Embedding-Modell und den Chunks ab.
Siehe auch: rag-(retrieval-augmented-generation), embedding-(vektordarstellung)