Zum Inhalt springen
sw
en

Tippe um zu suchen

KI-Grundlagen

Embeddings und Vektoren anschaulich erklaert

Wie KI Bedeutung in Zahlen uebersetzt, was ein Vektorraum ist und warum Embeddings hinter semantischer Suche, RAG und Empfehlungen stecken.

9 Min Lesezeit Fortgeschritten Zuletzt aktualisiert:

Bedeutung als Zahlen

Ein Computer versteht keine Woerter. Er versteht Zahlen. Damit eine KI trotzdem etwas mit Bedeutung anfangen kann – erkennen, dass “Hund” naeher bei “Katze” liegt als bei “Fahrrad” – braucht es eine Uebersetzung: Text (oder Bilder, Audio, Code) wird in eine Liste von Zahlen verwandelt, die genau diese Bedeutungsnaehe abbildet. Diese Zahlenliste nennt man Embedding, im Deutschen manchmal “Vektoreinbettung” genannt.

Ein Embedding ist technisch schlicht ein Vektor: eine geordnete Liste von Fliesskommazahlen fester Laenge, zum Beispiel 1536 Zahlen bei einem gaengigen OpenAI-Modell (Stand: 2026-07). Der Clou steckt nicht in der Anzahl der Zahlen, sondern darin, wie sie erzeugt werden: Ein trainiertes Modell liest einen Text und gibt einen Vektor zurueck, bei dem “nahe beieinander” tatsaechlich “aehnliche Bedeutung” heisst.

"Hund"     → [0.12, -0.45, 0.88, ..., 0.03]   (z.B. 1536 Zahlen)
"Katze"    → [0.15, -0.41, 0.79, ..., 0.05]   (aehnlicher Vektor → aehnliche Bedeutung)
"Fahrrad"  → [-0.72, 0.30, -0.10, ..., 0.61]  (deutlich anderer Vektor)

Wichtig zu verstehen: Die einzelnen Zahlen in einem Embedding haben fuer sich genommen keine menschlich lesbare Bedeutung. Niemand kann sagen “Zahl Nummer 42 steht fuer Tierhaftigkeit”. Die Bedeutung steckt in der Anordnung im Vektorraum als Ganzes – in den Abstaenden und Richtungen zwischen den Vektoren, nicht in einzelnen Werten.

Der Vektorraum und was “Aehnlichkeit” dort bedeutet

Stell dir jeden Vektor als einen Punkt in einem Raum vor. Bei zwei Zahlen waere das eine gewoehnliche Landkarte mit X- und Y-Koordinate. Ein echtes Embedding hat statt zwei oft hunderte bis tausende Dimensionen – das kann sich niemand mehr bildlich vorstellen, aber die Mathematik dahinter funktioniert genauso wie bei zwei oder drei Dimensionen, nur eben in vielen davon gleichzeitig.

In diesem Vektorraum gilt: Texte mit aehnlicher Bedeutung landen nah beieinander, unabhaengig davon, ob sie dieselben Woerter benutzen. “Wie kuendige ich meinen Handyvertrag?” und “Vorgehen zur Vertragsaufloesung beim Mobilfunkanbieter” nutzen fast keine gemeinsamen Woerter, landen aber im Vektorraum nah beieinander, weil sie dasselbe meinen. Das ist der entscheidende Unterschied zur klassischen Stichwortsuche, die nur exakte oder aehnliche Zeichenketten findet.

Wie man “Naehe” misst: Kosinus-Aehnlichkeit

Um zu berechnen, wie nah zwei Vektoren beieinander liegen, wird meistens die Kosinus-Aehnlichkeit (englisch cosine similarity) verwendet. Sie misst den Winkel zwischen zwei Vektoren, nicht ihre absolute Laenge – zwei Vektoren, die in dieselbe Richtung zeigen, gelten als aehnlich, egal wie “lang” sie sind. Das Ergebnis liegt meist zwischen -1 und 1:

Kosinus-WertBedeutung
nahe 1Fast identische Bedeutung
um 0.7-0.9Deutlich verwandtes Thema
nahe 0Kaum ein inhaltlicher Zusammenhang
negativGegensaetzliche Bedeutung (in der Praxis selten stark ausgepraegt)
import numpy as np

def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

# Angenommen, embed() liefert den Vektor eines Textes
v_hund = embed("Hund")
v_katze = embed("Katze")
v_fahrrad = embed("Fahrrad")

print(cosine_similarity(v_hund, v_katze))    # z.B. 0.82 -> hoch
print(cosine_similarity(v_hund, v_fahrrad))  # z.B. 0.31 -> niedrig

Wie ein Embedding entsteht

Ein Embedding-Modell ist ein eigens dafuer trainiertes neuronales Netz (meist auf Transformer-Basis, derselben Grundarchitektur wie bei LLMs, siehe Wie ein LLM funktioniert). Es bekommt beim Training Millionen von Textpaaren gezeigt, die entweder thematisch zusammengehoeren oder nicht, und lernt dabei, seine Ausgabevektoren so anzuordnen, dass Aehnliches nah beieinander landet.

Der praktische Ablauf beim Einsatz ist simpel:

  1. Text rein (ein Wort, ein Satz, ein Absatz oder ein ganzes Dokument)
  2. Embedding-Modell verarbeitet den Text
  3. Ein Vektor fester Laenge kommt raus (z.B. 384, 768, 1536 oder 3072 Zahlen, je nach Modell)
// Beispielhafter API-Aufruf, Antwortstruktur vereinfacht
{
  "input": "Wie setze ich ein Passwort zurueck?",
  "model": "text-embedding-3-small",
  "embedding": [0.0123, -0.0456, 0.0891, "... 1536 Werte insgesamt"]
}

Wichtig: Verschiedene Embedding-Modelle erzeugen nicht kompatible Vektorraeume. Ein Vektor von Modell A laesst sich nicht sinnvoll mit einem Vektor von Modell B vergleichen – beide “sprechen eine andere Zahlensprache”. Deshalb muss innerhalb eines Systems immer konsequent dasselbe Embedding-Modell verwendet werden, sowohl beim Einlesen der Daten als auch bei jeder spaeteren Suchanfrage.

Wofuer man Embeddings tatsaechlich braucht

Semantische Suche

Klassische Suche (wie eine einfache Textsuche in einem Dokument) findet nur Treffer, die die exakten Suchbegriffe enthalten. Semantische Suche auf Basis von Embeddings findet dagegen Treffer, die inhaltlich passen, selbst wenn kein gemeinsames Wort vorkommt. Eine Suche nach “Firma pleite” findet dann auch Dokumente, die von “Insolvenz” oder “Zahlungsunfaehigkeit” sprechen.

RAG (Retrieval-Augmented Generation)

Embeddings sind das technische Fundament von RAG-Systemen: Statt ein ganzes Firmenwiki oder Handbuch in jeden Prompt zu quetschen, wird nur der thematisch relevante Ausschnitt per Vektor-Aehnlichkeit herausgesucht und dem Sprachmodell als Kontext mitgegeben. Details zum kompletten Ablauf findest du in RAG fuers Firmenwissen und, fuer den technischen Selbstbau, in RAG selbst bauen.

Empfehlungssysteme

Wenn ein Streaming-Dienst “Filme wie dieser” vorschlaegt oder ein Onlineshop “aehnliche Produkte” anzeigt, steckt oft dasselbe Prinzip dahinter: Artikel, Filme oder Songs werden als Embeddings abgelegt, und die Empfehlung ist schlicht die Suche nach den naechstgelegenen Vektoren zum aktuell betrachteten Element.

Weitere Einsatzfelder

  • Duplikaterkennung: Zwei Support-Tickets, die dasselbe Problem unterschiedlich formulieren, landen nah beieinander und lassen sich automatisch zusammenfuehren.
  • Clustering und Kategorisierung: Grosse Textmengen automatisch in Themengruppen einteilen, ohne vorher Kategorien von Hand zu definieren.
  • Anomalieerkennung: Ein Text, der weit von allen bekannten Clustern entfernt liegt, faellt statistisch auf.
  • Multimodale Suche: Manche Embedding-Modelle bilden Text und Bilder in denselben Vektorraum ab, sodass eine Textsuche passende Bilder findet und umgekehrt (siehe Multimodale KI).

Von Vektoren zur Suche: Vektordatenbanken

Bei ein paar Dutzend Vektoren koennte man die Aehnlichkeit noch von Hand mit einer Schleife durchrechnen. Bei Millionen von Dokumenten braucht es dafuer spezialisierte Software: eine Vektordatenbank. Sie speichert Vektoren zusammen mit dem Ursprungstext (oder einem Verweis darauf) und findet mit optimierten Suchverfahren (z.B. dem HNSW-Algorithmus) in Millisekunden die naechsten Nachbarn eines Such-Vektors, statt jeden einzelnen Vektor einzeln durchzurechnen.

AnsatzWann sinnvollBeispiele
Vektoren im Arbeitsspeicher / einfacher ArrayKleine Datenmengen, Prototypen, wenige Tausend EintraegeNumPy-Array, einfache Listen
Eingebettete VektordatenbankMittlere Projekte, ein Server, kein separater Betrieb noetigChroma, SQLite mit Vektor-Erweiterung
Dedizierte Vektordatenbank / -dienstProduktivbetrieb, grosse Datenmengen, hohe AnfragelastPinecone, Qdrant, Weaviate, Cloudflare Vectorize, pgvector (Postgres-Erweiterung)

Mehr zur Auswahl und zum praktischen Betrieb einer Vektordatenbank steht in Vektordatenbanken.

Ein konkretes End-to-End-Beispiel

So sieht ein typischer semantischer Such-Ablauf in vereinfachtem Pseudocode aus:

# 1. Einmalig: Wissensbasis in Vektoren umwandeln und speichern
dokumente = ["Passwort zuruecksetzen: ...", "VPN einrichten: ...", "Drucker verbinden: ..."]
for doc in dokumente:
    vektor = embed(doc)
    vektor_db.speichere(vektor, doc)

# 2. Bei jeder Suchanfrage: Frage ebenfalls in einen Vektor umwandeln
frage = "Ich komme nicht mehr in mein Konto rein"
frage_vektor = embed(frage)

# 3. Die naehesten Nachbarn im Vektorraum finden
treffer = vektor_db.suche(frage_vektor, top_k=3)
# → findet z.B. "Passwort zuruecksetzen: ...", obwohl kein Wort uebereinstimmt

Genau dieser dritte Schritt ist der Grund, warum semantische Suche so viel nuetzlicher wirkt als reine Stichwortsuche: Sie versteht die Absicht hinter einer Frage, nicht nur ihre Formulierung.

Entscheidungshilfe: brauche ich ueberhaupt Embeddings?

Muss ich Text anhand von Bedeutung statt exakter Woerter finden oder vergleichen?

├─ Nein, exakte Stichwortsuche reicht (z.B. Fehlercode, Artikelnummer)
│   → Klassische Volltextsuche genuegt, kein Embedding noetig.

├─ Ja, aber die Datenmenge ist klein (< paar hundert Eintraege) und aendert sich selten
│   → Reicht oft schon ein einfacher Vergleich mit einem eingebetteten
│     Embedding-Modell + simpler Vektorsuche im Code.

└─ Ja, und es geht um viele/wachsende Dokumente, RAG oder Produktivbetrieb
    → Embedding-Modell + dedizierte Vektordatenbank einplanen
      (siehe Vektordatenbanken, RAG fuers Firmenwissen).

Grenzen und Stolperfallen

Embeddings sind kein Wundermittel. Ein paar Punkte, die in der Praxis wichtig werden:

  • Domain-Spezifika gehen manchmal verloren. Ein allgemeines Embedding-Modell kennt Fachjargon (medizinische Abkuerzungen, interne Firmenbegriffe) moeglicherweise schlechter als Alltagssprache. Bei sehr spezialisierten Bereichen liefern feinabgestimmte oder fachspezifische Embedding-Modelle bessere Ergebnisse.
  • Chunking-Groesse beeinflusst die Qualitaet stark. Ein Embedding fuer einen ganzen 20-Seiten-Bericht verwischt Details. Meist werden Dokumente vorher in kleinere Abschnitte (“Chunks”, oft ein paar hundert Woerter) zerlegt, jeder Chunk bekommt sein eigenes Embedding.
  • Aehnlichkeit ist nicht dasselbe wie Korrektheit. Ein per Embedding gefundener Textausschnitt ist thematisch passend, garantiert aber nicht, dass die enthaltene Information aktuell oder richtig ist.
  • Sprachen und Sprachmischung. Nicht jedes Embedding-Modell ist gleich gut fuer alle Sprachen trainiert; mehrsprachige Modelle sind bei internationalen Wissensbasen oft die bessere Wahl.

Kurz zusammengefasst

  • Ein Embedding ist ein Vektor (eine Liste von Zahlen), der die Bedeutung eines Texts (oder Bilds, Codes, etc.) so abbildet, dass aehnliche Inhalte nah beieinander liegen.
  • Die Kosinus-Aehnlichkeit misst diese Naehe und ist die Basis fast aller praktischen Anwendungen.
  • Embeddings stecken hinter semantischer Suche, RAG, Empfehlungssystemen, Duplikaterkennung und Clustering.
  • Bei grossen Datenmengen braucht es eine Vektordatenbank, um Aehnlichkeitssuche performant zu machen.
  • Modell konsequent gleich halten, Chunking-Groesse durchdacht waehlen, Zugriffsrechte trotzdem separat pruefen.

Weiterlernen

Verwandte Themen: Wie ein LLM funktioniert · Tokens und Kontextfenster · Vektordatenbanken · RAG fuers Firmenwissen

Videos

YouTube
Vom Wort zum Vektor - Embeddings als Grundlage fuer moderne KI-Loesungen

Kommentare

Frage, Verbesserungsvorschlag oder eigene Erfahrung zu diesem Artikel? Schreib einen Kommentar. Neue Beiträge erscheinen nach kurzer Moderation.

  • Lade Kommentare …
Kommentar schreiben