Embeddings einfach erklärt Wie KI Bedeutung versteht – nicht nur Worte

Aktualisiert:
Embeddings einfach erklärt Wie KI Bedeutung versteht – nicht nur Worte

Haben Sie sich jemals gefragt, warum ChatGPT eine Verbindung zwischen "Auto" und "Wagen" findet – obwohl es unterschiedliche Wörter sind? Oder warum ein RAG-System das richtige Dokument findet, auch wenn die Anfrage kein einziges Wort aus dem Text enthält? Spoiler: Dahinter steckt eine Technologie – Embedding. Es ist eine Methode, jeden Text in eine Reihe von Zahlen umzuwandeln, sodass Texte mit ähnlicher Bedeutung ähnliche Zahlen haben.

⚡ Kurz gesagt

  • Embedding ist kein Wort, sondern eine Zahl: Jedes Wort oder jeder Satz wird in einen Vektor aus Hunderten von Zahlen umgewandelt, der seine Bedeutung kodiert
  • Ähnliche Bedeutung = ähnliche Zahlen: "Katze" und "Kätzchen" haben ähnliche Vektoren, "Katze" und "Rakete" – weit entfernte
  • Ohne Embeddings gibt es kein RAG, keine semantische Suche und keine Empfehlungen: Sie sind das Fundament der meisten modernen KI-Systeme
  • 🎯 Sie erhalten: ein klares Verständnis davon, was Embedding ist, wie es trainiert wird, wo es verwendet wird und wann es nicht geeignet ist
  • 👇 Unten finden Sie Erklärungen mit Analogien, Diagrammen und praktischen Schlussfolgerungen ohne unnötige Theorie

📚 Inhalt des Artikels

🎯 Von Tokens zu Zahlen: Warum KI nicht direkt mit Wörtern arbeiten kann

Warum Zahlen benötigt werden

Ein neuronales Netz ist eine mathematische Funktion. Es kann keine Wörter als solche verarbeiten, weil es nicht weiß, was "Katze" oder "Vertrag" bedeutet. Es kann nur Zahlen multiplizieren, addieren und transformieren. Deshalb muss jedes Wort (oder Token) zuerst in einen numerischen Vektor umgewandelt werden – und genau das macht ein Embedding-Modell.

Ein Token ist eine Texteinheit, die die KI sieht. Ein Embedding ist das, was dieses Token *bedeutet*, in Zahlen ausgedrückt.

Wenn Sie den Artikel über Tokens gelesen haben, wissen Sie: KI teilt Text in Fragmente (Tokens) auf – das können ganze Wörter, Wortteile oder sogar einzelne Zeichen sein. Aber ein Token ist noch keine Bedeutung. Es ist nur eine Aufteilungseinheit.

Embedding ist der nächste Schritt. Jedes Token erhält seinen einzigartigen numerischen "Fingerabdruck" – einen Vektor. Dieser Vektor kodiert nicht die Schreibweise des Wortes, sondern seine Bedeutung im Kontext der Sprache. Deshalb sind "Auto" und "Wagen" unterschiedliche Tokens, aber ihre Vektoren werden sehr nah beieinander liegen.

Analogie: Wörterbuch vs. Stadtplan

Stellen Sie sich zwei Möglichkeiten vor, ein Wort zu beschreiben. Die erste – ein Wörterbuch: "Katze – ein Haustier aus der Familie der Feliden". Das ist nützlich für Menschen, aber nutzlos für die Mathematik. Die zweite – eine Karte: In der Stadt der Konzepte steht "Katze" neben "Kätzchen", "Pfote", "Schnurren" – und weit weg von "Rakete" oder "Buchhaltung". Ein Embedding ist genau wie eine Karte, auf der die Position jedes Wortes durch sein semantisches Umfeld bestimmt wird. Dokumentation von OpenAI Embeddings beschreibt, wie Text in einen numerischen Vektor in einem hochdimensionalen Raum umgewandelt wird.

  • ✔️ Token = Texteinheit (was geschrieben ist)
  • ✔️ Embedding = numerischer Vektor (was es bedeutet)
  • ✔️ Ohne die Umwandlung von Text in Zahlen kann kein neuronales Netz damit arbeiten

Fazit: Embedding ist die unverzichtbare Brücke zwischen dem Text, den ein Mensch versteht, und den Zahlen, mit denen eine KI arbeitet.

Warum verschiedene Modelle unterschiedliche Ergebnisse liefern: Vergleichstabelle

Parameter OpenAI text-embedding-3-small BGE-M3 (BAAI) E5-large (Microsoft)
Training signal
(worauf trainiert)
Synthetische Paare, generiert von GPT-4 + NLI-Datensätze + Web-Korpus. Geschlossener Datensatz, Details nicht offengelegt Offener Datensatz: 1,2 Mio. Paare aus über 570 Quellen – MS MARCO, NLI, parallele Übersetzungen von 100+ Sprachen, Code Web-Korpus + NLI-Datensätze von Microsoft. Instruction-Tuning: Vor jeder Anfrage wird eine Anweisung wie "query: " oder "passage: " hinzugefügt
Kontextfenster
(max. Tokens)
8.191 Tokens – ausreichend für lange Artikel und Dokumente 8.192 Tokens – ähnlich, plus Unterstützung für lange Anfragen bei Hybrid-Suche 512 Tokens – Beschränkung für lange Dokumente, Chunking erforderlich
Architektur Transformer-Encoder, Details nicht offengelegt. Unterstützt Matryoshka (MRL): kann auf 256 Dimensionen gekürzt werden XLM-RoBERTa als Basismodell. Einzigartig: Generiert gleichzeitig dichte + spärliche + ColBERT-Vektoren Transformer-Encoder auf Basis von DeBERTa. Instruction-aware: Ergebnis hängt vom Prefix-Befehl ab
Vektor-Dimensionalität 1.536 (oder weniger durch MRL) 1.024 1.024
Ähnlichkeitsmetrik Cosine Similarity (oder Dot Product nach Normalisierung) Cosine Similarity für dense, Inner Product für sparse Cosine Similarity – aber unbedingt Prefix hinzufügen, sonst sinkt die Qualität
Multilingualität Unterstützt, aber die Qualität auf Kyrillisch ist niedriger als auf Lateinisch 100+ Sprachen, gleiche Qualität – führend in den multilingualen MTEB-Benchmarks Hauptsächlich Englisch. Multilinguale Version – separates Modell multilingual-e5
Hybrid-Suche Nur dichte Vektoren – für Hybrid wird ein separates BM25 benötigt Native Hybrid: dichte + spärliche Vektoren in einem Modell ohne zusätzliche Tools Nur dichte – Hybrid über separates BM25 oder Elasticsearch
Preis 0,02 $/1 Mio. Tokens über API Kostenlos – Self-hosted, GPU für Geschwindigkeit erforderlich Kostenlos – Self-hosted über HuggingFace
Wann wählen Schneller Start, englisch- oder gemischtsprachiger Inhalt, minimale Infrastruktur Multilinguale Inhalte, Kyrillisch, Hybrid-Suche, vertrauliche Daten Englischsprachiges Retrieval, GPU vorhanden, hohe Qualität bei englischen Benchmarks erforderlich

Warum derselbe Text bei verschiedenen Modellen unterschiedliche Ergebnisse liefert

Drei Hauptgründe für die Abweichung der Ergebnisse zwischen den Modellen:

1. Unterschiedliches Trainingssignal. OpenAI hat das Modell auf synthetischen Paaren von GPT-4 trainiert – das liefert eine gute Gesamtqualität, aber die Details des Datensatzes sind nicht offengelegt. BGE-M3 wurde auf offenen 1,2 Mio. Paaren mit einem expliziten multilingualen Signal trainiert – daher besser auf Kyrillisch. E5 verwendet Instruction-Tuning: Das Modell erwartet den Prefix "query: " vor der Anfrage und "passage: " vor dem Dokument. Wenn der Prefix nicht hinzugefügt wird, sinkt die Qualität um 5–15 % selbst bei englischsprachigen Inhalten.

2. Unterschiedliches Kontextfenster. E5-large verarbeitet nur 512 Tokens – ein langes Dokument wird abgeschnitten, und der hintere Teil verschwindet einfach aus dem Vektor. OpenAI und BGE-M3 verarbeiten bis zu 8K Tokens, was es ermöglicht, ganze Artikel ohne Informationsverlust zu embedden. Wenn Ihre Dokumente länger als 400 Wörter sind und Sie E5 verwenden, ist Chunking unbedingt erforderlich.

3. Unterschiedliche Raumgeometrie. Jedes Modell baut seinen eigenen Vektorraum auf. Der Vektor des Wortes "Vertrag" von OpenAI und der Vektor desselben Wortes von BGE-M3 sind inkompatible Zahlen in inkompatiblen Räumen. Deshalb dürfen Vektoren verschiedener Modelle nicht in derselben Vektor-DB gemischt und nicht miteinander verglichen werden. Mehr dazu – im MTEB Leaderboard, wo Modelle auf standardisierten Benchmarks verglichen werden.

📌 Embedding = Koordinaten im Bedeutungsraum

Was ist ein Vektor

Ein Embedding ist eine Liste von Zahlen, z. B.: [0,21, -0,84, 0,03, 0,67, ...] – von 384 bis 3.072 Zahlen, je nach Modell. Jede Zahlenkombination ist ein Punkt in einem mehrdimensionalen Raum. Wörter mit ähnlicher Bedeutung liegen in diesem Raum nahe beieinander, Wörter mit unterschiedlicher Bedeutung – weit voneinander entfernt.

Wenn eine normale GPS-Koordinate zwei Zahlen sind (Breite und Länge), dann ist ein Embedding ein GPS in einem Raum mit Tausenden von Dimensionen, wobei jede "Koordinate" einen Aspekt der Bedeutung kodiert.

Stellen wir uns einen sehr vereinfachten Raum vor – nur zwei Dimensionen. Die X-Achse – wie stark das Wort mit der lebendigen Welt verbunden ist. Die Y-Achse – wie stark es mit Bewegung verbunden ist. Dann:

  • "Anwalt" → hohes X (Mensch), niedriges Y (nicht über Bewegung) → Koordinate [0,9, 0,1]
  • "Kurier" → hohes X, hohes Y → [0,9, 0,8]
  • "Auto" → niedriges X, hohes Y → [0,1, 0,9]
  • "Rakete" → niedriges X, sehr hohes Y → [0,05, 0,95]

In Wirklichkeit gibt es nicht zwei, sondern Hunderte oder Tausende von Dimensionen – jede kodiert einen feineren Aspekt: emotionale Färbung, syntaktische Rolle, thematische Zugehörigkeit usw. Wir können sie nicht einzeln interpretieren, aber die Mathematik der Abstände zwischen den Punkten in diesem Raum funktioniert einwandfrei.

Wie die Ähnlichkeit zwischen Vektoren gemessen wird: Cosine Similarity

Der Abstand zwischen zwei Vektoren wird nicht geradlinig (euklidischer Abstand) gemessen, sondern über den Winkel zwischen ihnen – die sogenannte Cosine Similarity. Je kleiner der Winkel zwischen zwei Vektoren ist, desto semantisch ähnlicher sind die Wörter oder Sätze. "Vertrag" und "Vereinbarung" zeigen im Bedeutungsraum fast in die gleiche Richtung – der Winkel zwischen ihnen ist klein, die Similarity hoch. "Vertrag" und "Rakete" – fast senkrecht, die Similarity liegt nahe Null.

Cosine Similarity ist der De-facto-Standard für die meisten Modelle und Vektor-Datenbanken. Aber es gibt einen wichtigen Punkt, den ich bei Fehlern in der Produktion sehe: einige Modelle sind für eine andere Metrik optimiert – Dot Product (Skalarprodukt). Zum Beispiel erwarten Gemini Embedding 2 von Google und einige Cohere-Modelle in bestimmten Modi genau Dot Product und nicht Cosine. Wenn Sie die falsche Metrik in Ihrer Vektor-Datenbank einstellen, werden die Suchergebnisse schlechter, selbst bei einem korrekten Modell. Überprüfen Sie immer die Dokumentation des Modells, bevor Sie distance in ChromaDB, Qdrant oder pgvector einstellen.

Lifehack: Vektornormalisierung beschleunigt die Suche

Es gibt einen praktischen Trick, den man kennen sollte. Wenn man Vektoren auf Einheitslänge (unit length) normalisiert – also jeden Vektor auf eine Norm von 1 bringt –, dann wird die Cosine Similarity mathematisch äquivalent zum Dot Product. Und Dot Product wird schneller berechnet: Es ist einfach die Summe der Produkte der Elemente, ohne zusätzliche Division durch die Normen. Viele Vektor-Datenbanken (Qdrant, pgvector mit vector_cosine_ops) machen das automatisch – aber wenn Sie eine eigene Suche oder FAISS verwenden, normalisieren Sie die Vektoren vor dem Speichern und erhalten einen Geschwindigkeitszuwachs ohne Qualitätsverlust.

Mehr darüber, wie Cosine Similarity und Dot Product in der Praxis bei der Suche verwendet werden – im Artikel Vector Search für Anfänger.

  • ✔️ Embedding – eine Zahlenliste von 384 bis 3.072 Werten
  • ✔️ Ähnlichkeit wird durch den Winkel zwischen Vektoren gemessen (Cosine Similarity) – aber prüfen Sie die Dokumentation des Modells: einige sind für Dot Product optimiert
  • ✔️ Normalisierte Vektoren: Cosine = Dot Product → schnellere Suche ohne Qualitätsverlust

Fazit: Embedding wandelt abstrakte "Bedeutung" in konkrete Geometrie um – und genau das ermöglicht es der KI, die Bedeutung von Texten mathematisch zu vergleichen. Aber die richtige Wahl der Ähnlichkeitsmetrik ist nicht weniger wichtig als das Modell selbst.

📌 Abschnitt 3. Woher kommen diese Zahlen? Wie das Modell gelernt hat, Bedeutung zu kodieren

Wie ein Embedding-Modell trainiert wird

Ein Embedding-Modell wird auf Milliarden von Textpaaren durch kontrastives Lernen trainiert: Sätze mit ähnlicher Bedeutung erhalten nahe Vektoren, Sätze mit unterschiedlicher Bedeutung – weit entfernte. Niemand sagt dem Modell manuell, dass "Vertragsauflösung" ähnlich wie "Vereinbarungsbeendigung" ist – es leitet dies selbst aus der Statistik von Milliarden realer Texte ab.

Das Modell liest kein Wörterbuch und kennt keine Grammatik. Es liest Milliarden von Sätzen – und lernt, welche Wörter und Phrasen nebeneinander existieren und welche niemals zusammen vorkommen.

Dahinter steckt die Idee der distributiven Semantik, die der Linguist John Firth bereits 1957 formulierte: "Ein Wort wird durch die Gesellschaft definiert, in der es vorkommt." Wenn zwei Wörter häufig in ähnlichen Kontexten vorkommen – haben sie wahrscheinlich eine ähnliche Bedeutung. Genau dieser Grundsatz wurde zur Grundlage von Word2Vec (Google, 2013) – dem ersten groß angelegten Modell, das Wörter durch die Statistik von Kontexten und nicht durch manuelle Annotation in Vektoren umwandelte. Originalartikel von Mikolov et al., 2013 – arXiv:1301.3781 .

Von Word2Vec zu modernem kontrastivem Lernen

Word2Vec wurde einfach trainiert: Für jedes Wort – benachbarte Wörter in einem Fenster von 5–10 Tokens vorhersagen. Wenn "Anwalt" und "Rechtsanwalt" oft in ähnlichen Sätzen vorkommen – nähern sich ihre Vektoren an. Das funktionierte bereits. Aber bei Word2Vec hatte jedes Wort einen *einzigen* Vektor unabhängig vom Kontext: das Wort "Schlüssel" erhielt den gleichen Vektor im Satz "Schlüssel zum Schloss" und "Schlüssel zum Erfolg" – obwohl die Bedeutungen unterschiedlich sind.

Moderne Modelle (BERT von Google, 2018) lösten dieses Problem: Der Vektor hängt nun vom gesamten Satz ab, nicht von einem statischen Wörterbuch. Das Wort "Schlüssel" erhält einen anderen Vektor, je nachdem, was daneben steht. Dies wurde durch die Transformer-Architektur und den Self-Attention-Mechanismus ermöglicht. BERT: Pre-training of Deep Bidirectional Transformers – arXiv:1810.04805 .

Wie kontrastives Lernen in der Praxis aussieht

Der moderne Standard für das Training von Embedding-Modellen ist kontrastives Lernen (contrastive learning), insbesondere der Ansatz SimCSE und seine Derivate. Das Modell erhält drei Sätze gleichzeitig:

  • Anchor (Anker): "Wie kann ich mein Abonnement für den Dienst kündigen?"
  • Positive (positives Beispiel): "Anleitung zur Kündigung des Tarifplans" – sollte dem Anker nahe sein
  • Negative (negatives Beispiel): "Rezept für traditionellen Borschtsch" – sollte weit vom Anker entfernt sein

Die Verlustfunktion (contrastive loss oder InfoNCE loss) bestraft das Modell, wenn der Vektor des positiven Beispiels weit vom Anker entfernt ist – oder wenn der Vektor des negativen Beispiels zu nah ist. Durch Milliarden solcher Tripletts lernt das Modell, einen Raum aufzubauen, in dem semantische Nähe durch geometrische Nähe dargestellt wird. SimCSE: Simple Contrastive Learning of Sentence Embeddings – arXiv:2104.08821 .

Woher kommen die Paare für das Training? Hauptsächlich aus drei Quellen: natürliche Frage-Antwort-Paare (NLI-Datensätze, Stack Overflow, Reddit), parallele Übersetzungen (für mehrsprachige Modelle) und synthetische Paare, die von LLMs generiert wurden. Zum Beispiel verwendete OpenAI für das Training von text-embedding-3-small synthetische Daten, die von GPT-4 generiert wurden, wie im Blog von OpenAI über neue Embedding-Modelle beschrieben.

Was das Modell tatsächlich im Vektor kodiert

Forscher haben herausgefunden, dass verschiedene Dimensionen des Vektors verschiedene Aspekte der Bedeutung kodieren – aber nicht so geradlinig, wie man es sich wünschen würde. Eine Dimension kann für den "juristischen Kontext" zuständig sein, eine andere – für den "emotionalen Ton", eine dritte – für die "syntaktische Rolle im Satz". Aber die Dimensionen sind nicht isoliert: Die Bedeutung wird verteilt über alle Zahlen gleichzeitig kodiert. Das bedeutet, dass keine einzelne Zahl im Vektor eine menschlich interpretierbare Bedeutung hat – nur die gesamte Kombination zusammen.

Ein bekanntes Beispiel aus Word2Vec, das auch in modernen Modellen erhalten geblieben ist: Vektor("König") − Vektor("Mann") + Vektor("Frau") ≈ Vektor("Königin"). Die Arithmetik der Bedeutungen funktioniert im Vektorraum – das ist einer der deutlichsten Beweise dafür, dass das Modell die Struktur der Sprache wirklich erfasst hat und nicht nur Wörter auswendig gelernt hat.

Warum mehrsprachige Modelle "Vertrag" und "contract" als dasselbe verstehen

Mehrsprachige Embedding-Modelle (Cohere embed-v4, BGE-M3, multilingual-e5) wurden gleichzeitig auf Texten in Dutzenden von Sprachen und auf parallelen Übersetzungskorpora trainiert. Dadurch landen "Vertrag" (Ukrainisch) und "contract" (Englisch) in benachbarten Punkten desselben Raumes – weil sie in ähnlichen Kontexten vorkamen und durch Übersetzungen verbunden waren.

Dies ermöglicht Cross-Lingual Search: Eine Anfrage auf Ukrainisch findet Dokumente auf Englisch, ohne dass eine Übersetzung erforderlich ist. In der Praxis – wenn Ihre Wissensbasis hauptsächlich aus englischen Dokumenten besteht und Benutzer auf Ukrainisch schreiben, schließt ein qualitativ hochwertiges mehrsprachiges Modell diese Lücke. In unserem Fall mit WebsCraft war dies ein echtes Problem: Ein Teil des Inhalts existiert nur in einer Sprache, und Anfragen kommen in einer anderen. BGE-M3 bewältigt dies deutlich besser als OpenAI small, wo die Qualität auf Kyrillisch merklich niedriger ist als auf Lateinisch – was auch die Ergebnisse des MTEB Multilingual Leaderboard bestätigen.

  • ✔️ Distributive Semantik: Bedeutung = Koexistenzkontext
  • ✔️ Kontrastives Lernen: positive Paare nähern sich an, negative – entfernen sich
  • ✔️ Moderne Modelle (BERT und weiter): Vektor hängt vom Kontext ab, nicht statisch
  • ✔️ Mehrsprachige Modelle: Übersetzungen in einem Raum → Cross-Lingual-Suche ohne Übersetzer

Fazit: Die Zahlen im Vektor sind nicht willkürlich und nicht manuell programmiert. Sie sind das Ergebnis des Trainings auf Milliarden von Beispielen und spiegeln die tatsächliche statistische Struktur der Sprache wider – deshalb erfassen sie die Bedeutung so gut.

Embeddings einfach erklärt Wie KI Bedeutung versteht – nicht nur Worte

📌 Dimensionalität: Warum 768 ≠ 1536 und was das praktisch bedeutet

Was ist Dimensionalität

Dimensionalität ist die Anzahl der Zahlen in einem Vektor. Ein 384-dimensionaler Vektor ist klein und schnell, aber weniger genau. Ein 3072-dimensionaler Vektor kodiert mehr Nuancen der Bedeutung, benötigt aber mehr Speicher und ist langsamer bei der Suche. Für die meisten RAG-Projekte sind 768–1536 Dimensionen ein optimaler Kompromiss.

Die Dimensionalität eines Vektors ist wie die Auflösung eines Fotos: 100×100 Pixel reichen für ein Symbol, 4000×3000 für ein Poster. Was Sie brauchen, hängt von der Aufgabe ab.

Mehr Dimensionen = mehr "Kanäle" zur Kodierung von Bedeutung. Ein kleiner Vektor (384 Dimensionen, wie bei all-MiniLM) kann "Katze" und "Rakete" unterscheiden, aber feine Nuancen verwechseln: zum Beispiel kann er "vorzeitige Vertragsauflösung" nicht von "Vertragsablauf" unterscheiden. Ein großer Vektor (3072 Dimensionen, wie bei text-embedding-3-large) erfasst auch diesen Unterschied – kostet aber mehr und benötigt mehr Speicherplatz in der Datenbank.

Trade-off in der Praxis: Geschwindigkeit, Qualität, Kosten

Dimensionalität Modellbeispiel Retrieval-Qualität Speichergröße Geeignet für
384 all-MiniLM-L6-v2 Basis ~1,5 KB/Vektor Prototyp, schwache Hardware
768 nomic-embed-text Gut ~3 KB/Vektor Lokales RAG, Ollama
1024 BGE-M3, Cohere embed-v4 Hoch ~4 KB/Vektor Produktion, mehrsprachig
1536 text-embedding-3-small Hoch ~6 KB/Vektor Allgemeines RAG über API
3072 text-embedding-3-large Maximal ~12 KB/Vektor Maximale Genauigkeit, MRL

Matryoshka Embeddings: Große Dimensionalität ohne Aufpreis

In den Jahren 2024–2025 wurde die Technik Matryoshka Representation Learning (MRL) populär. Die Idee ist einfach: Das Modell lernt so, dass die ersten N Dimensionen des Vektors bereits den Großteil der nützlichen Informationen tragen. Das bedeutet, Sie können einen 3072-dimensionalen Vektor generieren, aber nur die ersten 256 speichern und danach suchen – mit minimalem Qualitätsverlust. Dieser Ansatz wird von OpenAI text-embedding-3-large und Gemini Embedding 2 unterstützt: einmal generieren und die Dimensionalität je nach Aufgabe wählen.

  • ✔️ Größere Dimensionalität = mehr Nuancen, aber teurer und langsamer
  • ✔️ Für die meisten Projekte sind 768–1536 Dimensionen optimal
  • ✔️ Matryoshka (MRL): Vektoren können ohne Neugenerierung gekürzt werden

Fazit des Abschnitts: Dimensionalität ist ein Kompromiss zwischen Qualität und Ressourcen; beginnen Sie mit 768–1536 und erhöhen Sie nur, wenn es ein spezifisches Problem mit der Suchqualität gibt.

📌 Wo Embeddings verwendet werden: 5 reale Anwendungen

Wo Embeddings benötigt werden

Embeddings bilden die Grundlage für semantische Suche, RAG-Systeme, Empfehlungen, unüberwachte Klassifizierung und Duplikaterkennung. Jede Aufgabe, bei der Texte nach Inhalt verglichen oder gruppiert werden müssen, erfordert Embeddings.

Wenn Keyword-Suche eine Suche nach der Adresse ist, dann ist Embedding-Suche eine Suche nach dem, was sich im Haus befindet.

1. Semantische Suche

Die klassische Suche sucht nach exakten Wortübereinstimmungen. Die semantische Suche findet Dokumente nach Inhalt: Die Anfrage "wie kündige ich ein Abonnement" findet den Artikel "Anleitung zur Tarifablehnung" – auch wenn keine gemeinsamen Wörter vorhanden sind. So funktionieren interne Suchen in Notion, Confluence und Unternehmenswissensdatenbanken.

2. RAG (Retrieval-Augmented Generation)

In RAG-Systemen werden Embeddings zweimal verwendet: bei der Indizierung (Dokument → Vektor → Speicherung in Vektor-DB) und bei der Suche (Anfrage → Vektor → Suche nach ähnlichen Dokumenten → Antwort der LLM). Ohne qualitativ hochwertige Embeddings liefert RAG irrelevante Fragmente, und selbst die beste LLM wird halluzinieren. Details finden Sie im Artikel LLM vs RAG im Jahr 2026 und im vollständigen RAG-Leitfaden.

3. Empfehlungssysteme

"Das könnte Ihnen gefallen..." – das sind oft Embeddings in Aktion. Der Artikel, den Sie gerade lesen, wird in einen Vektor umgewandelt. Das System findet andere Artikel mit ähnlichen Vektoren und schlägt sie vor. Dasselbe gilt für Streaming-Dienste: Ein Film, den Sie gesehen haben → Vektor → Suche nach ähnlichen Filmen nach Stimmung und Thema, nicht nur nach Genre.

4. Unüberwachte Klassifizierung (Zero-Shot)

Die traditionelle Klassifizierung erfordert Tausende von markierten Beispielen für jede Klasse. Mit Embeddings können Texte ohne ein einziges Beispiel klassifiziert werden: Sie berechnen den Vektor des Textes und vergleichen ihn mit den Vektoren der Klassennamen. "Ist das eine Beschwerde oder ein Lob?" – berechnen Sie die Kosinus-Ähnlichkeit mit den Vektoren der Wörter "Beschwerde" und "Lob" und sehen Sie, welcher näher liegt.

5. Duplikaterkennung und sprachübergreifende Suche

Embeddings finden nahezu identische Texte, auch wenn sie umformuliert oder in verschiedenen Sprachen geschrieben sind. Dies ist nützlich für die Deduplizierung von Wissensdatenbanken, die Erkennung von Plagiaten oder – was für ukrainische Inhalte besonders wichtig ist – die Suche, wenn die Anfrage in einer Sprache erfolgt und die Dokumente in einer anderen existieren. Ein mehrsprachiges Embedding-Modell platziert "Mietvertrag" (Ukrainisch) und "rental agreement" (Englisch) in benachbarten Punkten des Raumes.

  • ✔️ Semantische Suche: nach Inhalt, nicht nach Wörtern
  • ✔️ RAG: Grundlage für die Qualität des Retrievals
  • ✔️ Empfehlungen, Klassifizierung, Deduplizierung, sprachübergreifende Suche

Fazit: Embeddings sind keine eigenständige Technologie, sondern ein horizontales Werkzeug: Sie tauchen überall dort auf, wo KI die Bedeutung von Texten verstehen oder vergleichen muss.

📌 Einschränkungen von Embeddings: Wann sie nicht helfen

Wo Embeddings versagen

Embeddings funktionieren schlecht mit exakten Zahlen, Daten, Artikelnummern, Namen und kurzen Anfragen mit 1–2 Wörtern. Das Modell "verwässert" exakte Werte in eine allgemeine Bedeutung – und zwei verschiedene Artikelnummern können fast den gleichen Vektor erhalten. Für solche Aufgaben sind Keyword-Suche (BM25) oder Metadatenfilterung erforderlich.

Embedding beantwortet die Frage "Worum geht es in diesem Text?", aber nicht die Frage "Was ist der genaue Wert in Zeile 7?"

Problem 1: Exakte Zahlen, Daten, IDs

Die Anfrage "Vertrag Nr. 4521" und "Vertrag Nr. 4522" – für ein Embedding-Modell ist das fast dasselbe: beides "geht um einen Vertrag mit einer Nummer". Der Unterschied in einer Ziffer wird im Vektor nicht so wichtig dargestellt, wie er für einen Menschen ist. Dasselbe gilt für Daten: "Was ist am 15. Februar 2023 passiert?" – das Embedding "weiß" nicht, dass dies ein spezifisches Datum ist und nicht nur "Februar".

Problem 2: Eigennamen und Begriffe

Seltene Eigennamen, Akronyme, Produktnamen oder technische Begriffe sind oft schlecht im Embedding-Raum repräsentiert. Wenn ein Name in den Trainingsdaten selten vorkam – sein Vektor wird "verwässert" und unzuverlässig sein.

Problem 3: Kurze Anfragen

Die Anfrage "RAG" oder "Spring" – zu wenig Kontext für einen qualitativ hochwertigen Vektor. Das Modell weiß nicht, was Sie genau interessiert: RAG als Technologie, RAG als Filmtitel oder Spring als Jahreszeit. Der Vektor wird durchschnittlich und unklar sein. Die Lösung – ein Fallback auf Keyword-Suche für kurze Anfragen, wie im Artikel Vector Search für Anfänger beschrieben.

Was tun: Hybrid Search

Für Produktionssysteme ist die richtige Antwort die Kombination von semantischer Suche mit klassischer Keyword-Suche (BM25). Hybrid Search liefert +15–40% Qualität im Vergleich zu reiner Vektorsuche und löst alle drei oben genannten Probleme. Details finden Sie im vollständigen RAG-Leitfaden.

  • ✔️ Exakte Zahlen, IDs, Daten → Keyword-Suche oder Metadatenfilter
  • ✔️ Kurze Anfragen → Fallback auf BM25
  • ✔️ Produktion → Hybrid Search (BM25 + Vektor)

Fazit: Embeddings sind ein mächtiges Werkzeug für semantische Aufgaben, ersetzen aber nicht die exakte Suche; kennen Sie ihre Grenzen und kombinieren Sie Ansätze.

Typische Fehler mit Embeddings und wie man sie vermeidet

Fehler Symptom Ursache Lösung
Schlechte Embeddings → schlechtes RAG LLM gibt irrelevante oder halluzinierte Antworten, obwohl das Modell gut ist Das Problem liegt nicht bei der LLM – das Retrieval liefert falsche Chunks. Das Embedding-Modell ist für Ihren Inhaltstyp nicht geeignet Protokollieren Sie den Kosinus-Ähnlichkeits-Score realer Anfragen. Wenn die Top-3-Ergebnisse einen Score von < 0,6 haben – wechseln Sie das Modell, nicht die LLM
Unterschiedliche Domänen → anderes Modell benötigt Ein allgemeines Modell sucht gut in Nachrichten, aber schlecht in medizinischen oder juristischen Dokumenten Das Modell wurde auf einem allgemeinen Webkorpus trainiert. Spezifische Terminologie ist schlecht repräsentiert oder fehlt ganz in den Trainingsdaten Für Medizin – BiomedBERT oder PubMedBERT. Für Code – voyage-code-3. Für juristische Inhalte – Fine-Tuning eines allgemeinen Modells auf Ihrem Korpus
Mehrsprachige Probleme Eine ukrainische Anfrage findet keine englischen Dokumente. Oder umgekehrt – findet sie, aber irrelevant Das Modell ist nicht wirklich mehrsprachig: OpenAI small wurde hauptsächlich auf einem englischen Korpus trainiert, die Qualität des Kyrillischen ist niedriger Ersetzen Sie durch BGE-M3 oder Cohere embed-v4 – beide wurden auf 100+ Sprachen mit gleicher Qualität für Latein und Kyrillisch trainiert
Falsche Metrik in Vector DB Die Suche liefert seltsame Ergebnisse, selbst bei einem korrekten Modell Die Vektor-DB ist auf Cosine eingestellt, aber das Modell ist für Dot Product optimiert (oder umgekehrt) Überprüfen Sie die Dokumentation des Modells. Normalisieren Sie die Vektoren – dann ist Cosine = Dot Product und der Fehler verschwindet
Gemischte Vektoren von verschiedenen Modellen Die Suche liefert völligen Unsinn nach einer Migration oder einem Modell-Update In einer Vektor-DB werden Vektoren von zwei verschiedenen Modellen gespeichert – ihre Räume sind nicht kompatibel Bei Modellwechsel – vollständige Neuindizierung der Datenbank. Speichern Sie den Modellnamen zusammen mit jedem Vektor als Metadaten
Fehlender Präfix bei E5 E5-large liefert trotz guter Benchmarks schlechte Ergebnisse E5 erwartet einen expliziten Präfix: "query: " für die Anfrage und "passage: " für das Dokument. Ohne ihn sinkt die Qualität um 5–15% Fügen Sie den Präfix programmgesteuert vor jedem Embedding hinzu: f"query: {user_query}" und f"passage: {document_chunk}"
Embeddings einfach erklärt Wie KI Bedeutung versteht – nicht nur Worte

💼 Modelle 2026: Wo anfangen

Welches Modell wählen

Für den Anfang – OpenAI text-embedding-3-small (0,02 $/1 Mio. Token) oder nomic-embed-text lokal über Ollama (kostenlos). Für mehrsprachige Inhalte mit Kyrillisch – BGE-M3 oder Cohere embed-v4, sie sind bei nicht-lateinischen Sprachen deutlich genauer.

Verschwenden Sie keine Wochen mit der Wahl des "perfekten" Modells. Fangen Sie an, protokollieren Sie reale Ergebnisse – und ersetzen Sie es nur, wenn Sie konkrete Probleme sehen.

Dieser Abschnitt ist ein Navigationshilfe. Ein vollständiger Vergleich von über 10 Modellen mit Preisen, Benchmarks und einer Auswahlmatrix finden Sie im Ankerartikel Embedding-Modelle für RAG in 2026. Hier sind drei Szenarien für einen schnellen Start.

Szenario 1: Lokale Entwicklung ohne Kosten

nomic-embed-text über Ollama – kostenlos, 768 Dimensionen, 8K Kontextfenster. Wird mit einem Befehl gestartet: ollama pull nomic-embed-text. Geeignet für Prototypen und Schulungen, Daten verlassen Ihren Computer nicht.

Szenario 2: API-Start mit minimalen Kosten

text-embedding-3-small von OpenAI – 0,02 $ pro Million Token, 1536 Dimensionen. Für einen Blog mit 500 Artikeln sind das weniger als 1 $ pro Monat. Das breiteste Ökosystem an Integrationen, der einfachste Start über die API. Nachteil: Die Qualität auf Ukrainisch ist niedriger als auf Englisch.

Szenario 3: Mehrsprachiger Inhalt mit Kyrillisch

BGE-M3 (Open-Source, Self-Hosted) oder Cohere embed-v4 (0,10 $/1 Mio. Token) – beide unterstützen 100+ Sprachen mit gleicher Qualität für Lateinisch und Kyrillisch. BGE-M3 unterstützt auch "out-of-the-box" Hybrid Search: Dense + Sparse Vektoren in einem Modell.

Szenario Modell Preis Dimension
Lokal / Kostenlos nomic-embed-text (Ollama) $0 768
API-Start text-embedding-3-small $0.02/1M 1536
Mehrsprachig / Kyrillisch BGE-M3 oder Cohere embed-v4 $0 / $0.10/1M 1024
  • ✔️ Beginnen Sie einfach – nomic oder OpenAI small
  • ✔️ Mehrsprachiger Inhalt → BGE-M3 oder Cohere
  • ✔️ Details und Benchmarks → Ankerartikel

Ich empfehle: Die Wahl des Modells ist eine weniger kritische Entscheidung als die Qualität Ihrer Daten und die Chunking-Strategie; starten Sie schnell und optimieren Sie auf Basis realer Anfragen.

❓ Häufig gestellte Fragen (FAQ)

Was ist der Unterschied zwischen Embedding und Token?

Ein Token ist eine Texteinheit (ein Wort oder ein Teil davon), die die KI bei der Zerlegung identifiziert. Ein Embedding ist ein numerischer Vektor, der die Bedeutung dieses Tokens oder eines ganzen Satzes kodiert. Token sind die Syntaxebene, Embeddings die semantische Ebene. Details zu Token finden Sie im Artikel über Token.

Muss die Datenbank neu indiziert werden, wenn das Embedding-Modell geändert wird?

Ja, unbedingt. Verschiedene Modelle generieren Vektoren in inkompatiblen Räumen: Ein Vektor von OpenAI und ein Vektor von BGE-M3 können nicht miteinander verglichen werden. Wenn Sie das Modell geändert haben, müssen Sie alle Vektoren neu generieren. Deshalb ist die Wahl des Modells zu Beginn eine wichtige architektonische Entscheidung.

Kann ein Embedding für Suche und Klassifizierung verwendet werden?

Technisch ja, aber die Qualität wird geringer sein. Einige Modelle (z. B. Cohere embed-v4 oder Jina v5) unterstützen "task-specific" Modi: Sie geben den Aufgabentyp (Retrieval, Classification, Matching) an und das Modell optimiert den Vektor dafür. Wenn Sie mehrere Aufgaben haben – ziehen Sie solche Modelle in Betracht.

Wie kann ich die Qualität von Embeddings für meinen Inhalt überprüfen?

Der einfachste Weg: Nehmen Sie 10-20 reale Anfragen, führen Sie eine Suche durch und schauen Sie sich die Top-3-Ergebnisse mit dem Cosine-Similarity-Score an. Wenn relevante Ergebnisse einen Score unter 0,6 haben oder irrelevante über 0,7 liegen – ist das Modell für Ihren Inhalt nicht geeignet. Benchmarks (MTEB) sind ein nützlicher Anhaltspunkt, aber Tests mit realen Daten sind immer wichtiger. Für einen systematischen Bewertungsansatz siehe den Leitfaden zu Metriken und Evaluation Pipelines für RAG.

Kann man Embeddings für Bilder erstellen?

Ja. Multimodale Modelle (z. B. Google Gemini Embedding 2) generieren Vektoren sowohl für Text als auch für Bilder im selben Raum. Dies ermöglicht die Suche nach Bildern anhand einer Textbeschreibung oder umgekehrt – und das Finden von Bildern, die dem Inhalt nach ähnlich sind, nicht nur den Pixeln.

✅ Schlussfolgerungen

  • 🔹 Embedding ist die Umwandlung von Text in einen numerischen Vektor, bei dem die Nähe der Zahlen die Nähe der Bedeutung widerspiegelt
  • 🔹 Das Modell lernt durch kontrastives Lernen an Milliarden von Textpaaren – ohne manuelle Kennzeichnung
  • 🔹 Die Dimensionalität (384–3072) ist ein Kompromiss zwischen Qualität und Ressourcen; für die meisten Aufgaben reichen 768–1536
  • 🔹 Embeddings bilden die Grundlage für RAG, semantische Suche, Empfehlungen und Klassifizierung
  • 🔹 Sie können nicht präzise mit Zahlen, IDs und kurzen Anfragen umgehen – dafür ist Hybrid Search erforderlich
  • 🔹 Für den Anfang: nomic-embed-text lokal oder text-embedding-3-small über API; für Kyrillisch – BGE-M3 oder Cohere

Hauptgedanke: Embedding ist die Sprache, mit der KI Bedeutung beschreibt. Wenn Sie verstehen, wie sie funktioniert, können Sie Systeme aufbauen, die die richtigen Informationen finden – und nicht nur die richtigen Wörter.

Wenn Sie verstehen möchten, wie Embeddings in der Suche auf mathematischer Ebene verwendet werden – Vector Search für Anfänger. Wenn Sie bereit sind, ein bestimmtes Modell auszuwählen – Embedding-Modelle für RAG in 2026.

Останні статті

Читайте більше цікавих матеріалів

Я додав BM25 до свого RAG-сервісу — і vector search перестав губити точні запити

Я додав BM25 до свого RAG-сервісу — і vector search перестав губити точні запити

Чистий vector search втрачає точні терміни, ціни і номери документів. Я це виправив за один день — без зміни LLM, без GPU, без нових залежностей. Мій RAG-сервіс працював. Vector search знаходив релевантні чанки, LLM генерувала відповіді українською. Але коли клієнт запитав "консультація...

Hybrid Search та Reranking: як підняти якість RAG на 15–40% без зміни моделі

Hybrid Search та Reranking: як підняти якість RAG на 15–40% без зміни моделі

Ваш RAG-пайплайн працює. Відповіді генеруються, retrieval повертає результати. Але користувач шукає get_user_v2 — і замість документації отримує статтю про user management. Або питає про "стаття 42 ЗУ про захист персональних даних" — і vector search повертає три чанки про...

Embeddings простими словами: як AI розуміє сенс, а не просто слова

Embeddings простими словами: як AI розуміє сенс, а не просто слова

Ви коли-небудь дивувались, чому ChatGPT знаходить зв'язок між "автомобілем" і "машиною" — хоча це різні слова? Або чому RAG-система знаходить потрібний документ навіть якщо у запиті немає жодного слова з тексту? Спойлер: за цим стоїть одна технологія — embedding. Це спосіб...

Як виміряти якість RAG: метрики, інструменти та перший evaluation pipeline — гайд 2026

Як виміряти якість RAG: метрики, інструменти та перший evaluation pipeline — гайд 2026

Ви побудували RAG-систему, відповіді генеруються, retrieval працює. Але як дізнатися, чи працює він на 90% запитів чи на 55%? Eyeball evaluation не скейлиться: variance між ревьюерами, нульове покриття edge cases, неможливість відловити регресії. Спойлер: п'ять метрик + 50...

ChromaDB, Qdrant або pgvector: як обрати Vector DB під свій проєкт

ChromaDB, Qdrant або pgvector: як обрати Vector DB під свій проєкт

ChromaDB, Qdrant або pgvector: як обрати Vector DB Проблема: Ви запустили перший RAG на ChromaDB — все працює: ~50 000 документів, відповіді стабільні. Але з’являється нова вимога: масштабування. Менеджер очікує мільйон документів, DevOps ставить під сумнів окрему vector DB, якщо...

Vector Search для початківців: як RAG знаходить потрібну інформацію

Vector Search для початківців: як RAG знаходить потрібну інформацію

Ви додали документи у свій RAG-пайплайн, написали запит — і система знаходить відповідь. Але як саме? Чому вона обирає цей фрагмент, а не сусідній? І чому іноді повертає повну нісенітницю? Спойлер: за кожним RAG-пошуком стоїть математика кутів у просторі тисячі вимірів — і її можна...