Skip to content

Embedding und Vektorsuche

Vorwort

Wie versteht ein Computer, dass „Katze und Hund sich ähnlich sind, aber nicht einem Auto"? Für Menschen ist das selbstverständlich, aber für den Computer sind „Katze", „Hund", „Auto" nur drei zusammenhangslose Zeichenketten. Die Embedding-Technologie ist der Schlüssel zur Lösung dieses Problems – sie verwandelt Text in numerische Vektoren, sodass der Computer semantische „Nähe und Distanz" verstehen kann.

Was lernst du in diesem Artikel?

Nach diesem Kapitel wirst du:

  • Intuitives Verständnis: Verstehen, was Embedding ist und warum die Vektoren von „Katze" und „Hund" nahe beieinander liegen
  • Ähnlichkeitsberechnung: Kernmetriken wie Kosinus-Ähnlichkeit und euklidische Distanz beherrschen
  • Indexprinzipien: Verstehen, wie Vektordatenbanken in Millionen von Datenpunkten in Millisekunden suchen
  • Technologieauswahl: Die Eigenschaften und Einsatzszenarien gängiger Vektordatenbanken kennen
  • End-to-End-Prozess: Die vollständige Pipeline von Text zu Vektor zu Suche beherrschen
KapitelInhaltKernkonzepte
Kapitel 1Embedding-KonzeptSemantischer Raum, Vektorrepräsentation
Kapitel 2ÄhnlichkeitsberechnungKosinus-Ähnlichkeit, euklidische Distanz
Kapitel 3VektorindexBrute-Force vs. ANN
Kapitel 4VektordatenbankenPinecone, Milvus, Chroma
Kapitel 5End-to-End-PipelineText → Vektor → Speicherung → Abfrage

0. Panorama: Die Brücke von Text zu Zahlen

In der Welt der natürlichen Sprachverarbeitung gibt es eine fundamentale Herausforderung: Computer verstehen nur Zahlen, keine Texte.

Früher wurde jedem Wort eine Nummer zugewiesen (One-Hot-Encoding), z. B. „Katze"=001, „Hund"=010, „Auto"=100. Das hat aber ein fatales Problem: Alle Wörter haben den gleichen Abstand zueinander. Der Abstand von „Katze" zu „Hund" ist genauso groß wie der von „Katze" zu „Auto" – das widerspricht natürlich unserer Intuition.

Die Revolution des Embeddings liegt darin: Es bildet jedes Wort auf einen dichten niedrigdimensionalen Vektorraum ab, in dem semantisch ähnliche Wörter auf natürliche Weise zusammen gruppiert werden. In diesem Raum liegen „Katze" und „Hund" nahe beieinander, während „Auto" weit entfernt ist – der Computer kann endlich Semantik „verstehen".

Der Sprung von One-Hot zu Embedding

  • One-Hot: Dimension = Vokabulargröße (potenziell Zehntausende), jeder Vektor hat nur eine 1, Rest 0, spärlich und ohne Semantik
  • Embedding: Dimension typischerweise 768–1536, jede Zahl hat Bedeutung, dicht und reich an semantischer Information
  • Entscheidender Durchbruch: Word2Vec (2013) bewies, dass „die Bedeutung eines Wortes durch seinen Kontext definiert werden kann", und eröffnete das Embedding-Zeitalter

1. Embedding-Konzept: Text in Koordinaten verwandeln

Der Kerngedanke des Embeddings lässt sich in einem Satz zusammenfassen: Eine Reihe von Zahlen (Vektor) verwenden, um die Bedeutung eines Wortes oder Satzes darzustellen.

Stell dir ein zweidimensionales Koordinatensystem vor. Wir platzieren „Katze" bei (0.2, 0.7), „Hund" bei (0.3, 0.6) und „Auto" bei (0.9, 0.1). Du siehst, dass die Koordinaten von „Katze" und „Hund" nahe beieinander liegen, während „Auto" weit entfernt ist. Das ist die Intuition hinter Embedding – semantische Ähnlichkeit wird zu räumlicher Distanz.

Word Embedding Space Visualization

Semantically similar words stay closer in vector space and form natural clusters

Dimension 1Dimension 2CatDogTigerRabbitKingQueenPrincePrincessAnimalsRoyalty

💡 Embedding models map text into high-dimensional vector spaces, often 768 to 1536 dimensions. This demo simplifies that into 2D to show the core idea: semantically similar words have shorter vector distances

Drei Schlüsseleigenschaften von Embeddings

  1. Semantisches Clustering: Wörter mit ähnlicher Bedeutung gruppieren sich automatisch (Tiere ein Cluster, Lebensmittel ein Cluster, Technologie ein Cluster)
  2. Analogiebeziehungen: Vektoroperationen können semantische Beziehungen ausdrücken, klassisches Beispiel: king - man + woman ≈ queen
  3. Dimensionsbedeutung: Jede Dimension kodiert implizit ein semantisches Merkmal (z. B. „ist ein Tier", „Größe", „emotionale Tendenz" usw.)
KodierungsmethodeDimensionSemantische InfoTypische Anwendung
One-HotVokabulargröße (~50000)KeineTraditionelles NLP
Word2Vec100–300Wortebene-SemantikWortähnlichkeit, Analogieschluss
BERT Embedding768KontextsemantikSatzverständnis, Q&A
OpenAI text-embedding-31536–3072Tiefe SemantikRAG, semantische Suche

2. Ähnlichkeitsberechnung: Wie „nah" sind sich Vektoren?

Mit der Vektorrepräsentation stellt sich die nächste Frage: Wie misst man, wie ähnlich zwei Vektoren sind? Das ist wie die Messung der Entfernung zweier Städte auf einer Karte – du kannst die Luftlinie messen oder prüfen, ob die Richtung übereinstimmt.

Vector Similarity Calculator

Drag vector endpoints to observe similarity metrics in real time

AB
Cosine similarity
0.3969
-1 (opposite) ~ 1 (same)
Euclidean distance
1.71
0 (identical) ~ ∞ (far away)
Dot product
0.96
dot(A, B) = |A||B|cosθ

💡Cosine similarityfocuses only on direction and is useful for semantic text comparison; Euclidean distanceconsiders both direction and magnitude and fits absolute-distance scenarios.

Zwei Kernmetriken

  • Kosinus-Ähnlichkeit (Cosine Similarity): Misst, ob die Richtung zweier Vektoren übereinstimmt, Wertebereich [-1, 1]. 1 bedeutet exakt gleiche Richtung, 0 bedeutet orthogonal (unabhängig), -1 bedeutet vollständig entgegengesetzt. Die bevorzugte Wahl für semantischen Textvergleich, da sie unabhängig von der Vektorlänge ist.
  • Euklidische Distanz (Euclidean Distance): Misst die Luftlinie zwischen den Endpunkten zweier Vektoren, Wertebereich [0, unendlich). 0 bedeutet vollständige Deckung, je größer der Wert, desto unähnlicher. Geeignet für Szenarien, in denen die „absolute Größe" berücksichtigt werden muss.
MetrikFormel-IntuitionWertebereichEinsatzszenario
Kosinus-ÄhnlichkeitRichtung betrachten, Länge ignorieren[-1, 1]Semantische Textsuche, Empfehlungssysteme
Euklidische DistanzLuftlinie der Endpunkte[0, unendlich)Bildmerkmale, Clusteranalyse
SkalarproduktRichtung x Länge(-inf, +inf)Schnelle Berechnung für normalisierte Vektoren
Manhattan-DistanzEntfernung entlang der Koordinatenachsen[0, unendlich)Hochdimensionale spärliche Vektoren

3. Vektorindex: Wie durchsucht man Millionen von Vektoren in Millisekunden?

Angenommen, du hast 1 Million Dokumente, jedes in einen 1536-dimensionalen Vektor umgewandelt. Ein Benutzer stellt eine Frage, und du musst die 10 ähnlichsten finden. Die direkteste Methode ist, jeden einzeln zu vergleichen – aber das bedeutet 1 Million Mal eine 1536-dimensionale Vektoroperation, viel zu langsam.

Genau das löst der Vektorindex: Raum gegen Zeit tauschen, durch Vorverarbeitung eine Indexstruktur aufbauen, die Suchgeschwindigkeit von O(n) auf annähernd O(log n) reduzieren.

Vector Index Strategy Comparison

Compare brute-force search with approximate nearest neighbor search

Query point
Total points
60
Visited nodes
0
Search effort
0%
Nearest K found
0
StrategyTime complexityAccuracyUse case
Brute forceO(n)100%Small datasets (<10K)
ANN (IVF)O(n/k)~95%Large datasets (>100K)
HNSWO(log n)~98%High-performance retrieval

Brute-Force vs. Approximate Nearest Neighbor (ANN)

  • Brute-Force (Flat): Jeden einzeln vergleichen, 100 % genau, aber langsam. Geeignet für kleine Datenmengen (< 100.000).
  • IVF (Inverted File Index): Den Vektorraum zunächst in mehrere Regionen aufteilen (Clustering), bei der Abfrage nur die nächstgelegenen Regionen durchsuchen. Wie eine Bibliothek, die nach Themenbereichen aufgeteilt ist – man sucht nur im relevanten Bereich.
  • HNSW (Hierarchical Navigable Small World Graph): Mehrschichtige Graphenstruktur aufbauen, von grob zu fein navigieren. Wie zuerst die Weltkarte zur Lokalisierung des Landes, dann die Landeskarte, dann die Straßenkarte.
  • PQ (Product Quantization): Hochdimensionale Vektoren in kurze Kodierungen komprimieren, geringe Präzisionseinbußen gegen massive Speichereinsparungen. Geeignet für extrem große Datensätze.
IndextypAufbaugeschwindigkeitAbfragegeschwindigkeitRecallSpeicherverbrauchGeeignete Skalierung
Flat (Brute-Force)Kein AufbauLangsam100 %Hoch< 100.000
IVFMittelSchnell95 %+Mittel100.000–10 Mio.
HNSWLangsamSehr schnell99 %+Hoch100.000–10 Mio.
PQMittelSchnell90 %+Sehr niedrig> 10 Mio.
IVF-PQMittelSchnell92 %+Niedrig> 100 Mio.

4. Vektordatenbanken: Speicher-Engines speziell für Vektoren

Mit Vektoren und Indexalgorithmen brauchst du einen Ort, um sie zu speichern und zu verwalten. Traditionelle Datenbanken (MySQL, PostgreSQL) sind gut für strukturierte Daten, aber bei der Ähnlichkeitssuche in hochdimensionalen Vektoren überfordert. Vektordatenbanken sind genau für dieses Szenario entwickelt.

Mainstream Vector Database Comparison

Click a card to see details and compare use cases across vector databases

P
Pinecone
Managed cloud service
Cloud nativeServerless
Performance
Ease of use
Scalability
M
Milvus
Open-source distributed
Open sourceDistributedHigh performance
Performance
Ease of use
Scalability
W
Weaviate
Open-source AI native
Open sourceGraphQLModular
Performance
Ease of use
Scalability
C
Chroma
Lightweight embedded
Open sourceLightweightPython
Performance
Ease of use
Scalability
pg
pgvector
PostgreSQL extension
SQLPostgreSQLExtension
Performance
Ease of use
Scalability
Scenario recommendations
&#x1F680;
Fast prototype
Chroma / Pinecone
&#x1F3E2;
Enterprise deployment
Milvus / Weaviate
&#x1F4BE;
Existing PG database
pgvector
&#x1F916;
RAG app
Chroma / Weaviate

Kernfähigkeiten von Vektordatenbanken

  1. Effiziente Speicherung: Für hochdimensionale Gleitkommavektoren optimiertes Speicherformat
  2. ANN-Suche: Integrierte Algorithmen für approximative Nearest-Neighbor-Indizes (HNSW, IVF usw.)
  3. Metadatenfilterung: Unterstützt Filterung nach Tags, Zeit und anderen Bedingungen während der Vektorsuche
  4. Echtzeit-Updates: Unterstützt dynamisches Hinzufügen, Löschen und Ändern von Vektoren ohne Neuaufbau des gesamten Index
  5. Horizontale Skalierung: Verteilte Architektur für Milliarden Vektoren
DatenbankTypEigenschaftenEinsatzszenario
PineconeVollständig verwalteter Cloud-DienstNull Betriebsaufwand, sofort einsatzbereitSchnelle Prototypen, kleine/mittlere Produktion
MilvusOpen-Source, verteiltHohe Leistung, skalierbarGroßproduktion
ChromaOpen-Source, leichtgewichtigEingebettet, einfache APILokale Entwicklung, kleine Projekte
WeaviateOpen-Source, Cloud-nativIntegrierte Vektorisierung, GraphQLSzenarien mit automatischer Vektorisierung
QdrantOpen-Source, HochleistungRust-Implementierung, starke FilterungSzenarien mit komplexer Filterung
pgvectorPostgreSQL-ErweiterungWiederverwendung bestehender PG-InfrastrukturTeams mit bestehendem PostgreSQL

5. End-to-End-Pipeline: Der vollständige Ablauf von Text zur Suche

Nachdem wir alle Komponenten verstanden haben, lassen wir sie zusammenlaufen und sehen, wie ein vollständiges Vektorsuchsystem funktioniert.

Der gesamte Ablauf teilt sich in zwei Pfade: Offline-Schreiben (Dokumente in Vektoren umwandeln und speichern) und Online-Abfrage (Fragen in Vektoren umwandeln und suchen).

Embedding Generation Pipeline

Step through the full conversion from text to vector

1
Tokenize
2
Encode
3
Model inference
4
Pooling
5
Normalize

Offline-Schreibprozess

  1. Dokumente laden: Rohtexte aus verschiedenen Quellen (PDF, Webseiten, Datenbanken) lesen
  2. Textvorverarbeitung: Bereinigen, entrauschen, normalisieren (HTML-Tags, Sonderzeichen usw. entfernen)
  3. Text-Chunking: Lange Texte nach Strategie in geeignete Fragmente zerschneiden (200–500 Tokens)
  4. Vektorisierung: Das Embedding-Modell (z. B. OpenAI text-embedding-3-small) aufrufen, um jeden Chunk in einen Vektor zu wandeln
  5. In Vektordatenbank speichern: Vektoren zusammen mit Originaltext und Metadaten in die Datenbank schreiben

Online-Abfrageprozess

  1. Abfrage empfangen: Der Benutzer gibt eine Frage in natürlicher Sprache ein
  2. Abfrage vektorisieren: Mit demselben Embedding-Modell die Frage in einen Vektor umwandeln
  3. Ähnlichkeitssuche: In der Vektordatenbank die Top-K ähnlichsten Dokumentfragmente suchen
  4. Nachverarbeitung: Reranking, Deduplizierung, Metadatenfilterung
  5. Ergebnis zurückgeben: Die relevantesten Dokumentfragmente an den Aufrufer zurückgeben (oder an das LLM zur Antwortgenerierung übergeben)
SchrittZentrale WahlEmpfohlenes Vorgehen
Embedding-ModellPräzision vs. Kosten vs. GeschwindigkeitOpenAI text-embedding-3-small (gutes Preis-Leistungs-Verhältnis)
Chunking-StrategieGranularität vs. semantische IntegritätRekursives Chunking, 200–500 Tokens
VektordatenbankSkalierung vs. BetriebskostenKleine Projekte: Chroma, Produktion: Pinecone/Milvus
ÄhnlichkeitsmetrikSemantik vs. PräzisionKosinus-Ähnlichkeit (erste Wahl für Text)
Top-K-WertRecall vs. RauschenZuerst 20 abrufen, nach Reranking Top 5 nehmen

Zusammenfassung

Embedding und Vektorsuche sind die Brücke zwischen „menschlicher Sprache" und „maschinellem Verständnis" und zugleich die Infrastruktur für KI-Anwendungen wie RAG, semantische Suche und Empfehlungssysteme.

Rückblick auf die Kernpunkte dieses Kapitels:

  1. Das Wesen des Embeddings: Text in einen hochdimensionalen Vektorraum abbilden, semantische Ähnlichkeit in räumliche Distanz verwandeln
  2. Ähnlichkeitsmetriken: Kosinus-Ähnlichkeit betrachtet die Richtung (geeignet für Text), euklidische Distanz die absolute Entfernung
  3. Der Index ist der Performance-Schlüssel: HNSW und IVF reduzieren die Suche in Millionen von Vektoren auf Millisekunden
  4. Vektordatenbank-Auswahl: Kleine Projekte: Chroma/pgvector, Produktion: Pinecone/Milvus
  5. End-to-End-Denken: Vom Laden der Dokumente bis zur endgültigen Suche beeinflusst jede Entscheidung das Endergebnis

Weiterführende Literatur