Einbettungen
Kurze Definition
Eine Einbettung ist eine Liste von Zahlen (ein Vektor), die die Bedeutung eines Textes, Bildes oder anderen Elements darstellt, sodass ähnliche Elemente nahe beieinander liegende Vektoren erhalten. Einbettungen ermöglichen die Suche nach Bedeutung.
Auf dieser Seite
Wie Einbettungen funktionieren
Ein Einbettungsmodell liest einen Text und gibt einen Vektor fester Länge aus, typischerweise mehrere hundert bis einige tausend Zahlen. Das Modell wird so trainiert, dass Texte mit verwandten Bedeutungen in diesem Raum nahe beieinander liegen: „Rückerstattungsrichtlinie“ und „Wie bekomme ich mein Geld zurück?“ teilen fast keine Wörter, produzieren aber nahe Vektoren.
Die Idee geht auf Wortvektoren wie word2vec (Mikolov und Kollegen, 2013) zurück, die gelernt haben, dass Wörter, die in ähnlichen Kontexten erscheinen, ähnliche Bedeutungen haben. Satzebenenmodelle wie Sentence-BERT (2019) erweiterten dies auf ganze Sätze und Passagen, was die Suche und die Beantwortung von Fragen benötigt.
Wofür sie verwendet werden
Embeddings ermöglichen die semantische Suche: Vergleiche den Vektor einer Frage mit den Vektoren der gespeicherten Passagen und gib den nächsten zurück. Sie sind der Abrufschritt der retrieval-augmented generation (RAG). Sie dienen auch dazu, ähnliche Gespräche zu clustern, Duplikate zu erkennen, ähnliche Produkte zu empfehlen und eine Nachricht dem richtigen Thema zuzuordnen.
Mehrsprachige Embedding-Modelle platzieren eine Frage auf Französisch und eine Passage auf Englisch nahe beieinander, wenn sie dasselbe bedeuten, was es einer Wissensdatenbank ermöglicht, Kunden in vielen Sprachen zu bedienen.
Praktische Punkte
Vektoren aus verschiedenen Modellen sind nicht vergleichbar: Wenn du das Embedding-Modell änderst, muss jede gespeicherte Passage neu eingebettet werden. Embeddings erfassen die Bedeutung, nicht die genauen Werte, daher sind sie schlecht bei präzisen Filtern wie einem Preisbereich oder einer Produktreferenz – dafür sind strukturierte Felder oder eine Schlüsselwortsuche erforderlich. Und lange Dokumente müssen vor dem Embedding in Passagen aufgeteilt werden, da ein Vektor für ein ganzes Handbuch dessen Inhalt verwischt.
Embedding-Modelle unterscheiden sich auch in der Sprachabdeckung, Dimension (und damit den Speicherkosten) und wo sie gehostet werden.
Einbettungen in AI SmartTalk
Jeder AI SmartTalk-Assistent verwendet ein Embedding-Modell für sein gesamtes Wissen. Neue Assistenten verwenden standardmäßig ein in der EU gehostetes mehrsprachiges Modell, und OpenAI-Embedding-Modelle sind ebenfalls verfügbar. Die Vektoren werden in PostgreSQL mit pgvector gespeichert und mit Schlüsselwort- und Trigrammsuche kombiniert, sodass Produktreferenzen und genaue Begriffe so zuverlässig gefunden werden wie umformulierte Fragen.
Häufig gestellte Fragen
Was ist der Unterschied zwischen einem Embedding und einem Token?
Ein Token ist ein Stück Text, grob ein Wortfragment, das ein Modell liest. Ein Embedding ist ein Vektor von Zahlen, der die Bedeutung – eines Tokens, eines Satzes oder einer ganzen Passage – darstellt.
Sind Embeddings dasselbe wie eine Vektordatenbank?
Nein. Embeddings sind die Vektoren; eine Vektordatenbank oder ein Index speichert sie und findet die nächsten schnell.
Kann ich später die Embedding-Modelle wechseln?
Ja, aber jedes gespeicherte Element muss mit dem neuen Modell neu eingebettet werden, da Vektoren aus verschiedenen Modellen in unterschiedlichen Räumen leben und nicht verglichen werden können.