WISSEN > KI ARCHITEKTUR > EMBEDDINGS & VEKTORSUCHE
Autor: Dirk Neumann Geschäftsführer ASSISTRA Cloud Services GmbH 17.08.2026
Embeddings und Vektordatenbanken
Semantische Suche für RAG
Das sollten Sie mitnehmen:
- Embeddings machen Text mathematisch vergleichbar.
Ein Embedding-Modell überführt Text in einen Vektor, dessen Ähnlichkeit zu anderen Vektoren berechenbar ist.
- Semantische Suche ist mehr als Schlüsselwortsuche.
Query und Chunks werden im selben Vektorraum verglichen; identische Wörter sind keine Voraussetzung für einen Treffer.
- Die approximative Nächste-Nachbarn-Suche (ANN) tauscht Exaktheit gegen Geschwindigkeit.
Verfahren wie Hierarchical Navigable Small World (HNSW) und Inverted File Indexing (IVF) verkleinern den zu durchsuchenden Raum und können dabei relevante Treffer übersehen.
- Eine Vektordatenbank löst nicht das gesamte Retrieval-Problem.
Chunking, Modell, Metrik, Metadaten, Berechtigungen und Indexparameter bestimmen das Ergebnis gemeinsam.
- Ein hoher Similarity Score ist kein Wahrheitsbeweis.
Er beschreibt Ähnlichkeit nach Modell und Metrik – nicht die sachliche Richtigkeit.

Embeddings und Vektordatenbanken
Inhaltsverzeichnis
- Die Grundidee lässt sich ohne Mathematik verstehen
- Was ein Embedding ist und wie es entsteht
- Ähnlichkeit ist eine Rechenvorschrift, keine Eigenschaft des Textes
- Wie aus einer Frage konkrete Treffer werden
- Warum große Bestände einen Index brauchen
- Zwei Wege, den Suchraum zu verkleinern
- Was der Index übersieht, kann kein Sprachmodell ergänzen
- Ein Vektorindex ist noch keine Vektordatenbank
- Metadaten und Berechtigungen gehören zur Retrieval-Logik
- Warum Embeddings nicht jedes Suchproblem lösen
- Retrieval-Qualität entsteht aus der gesamten Kette
- Fazit
- Quellen
Wie ein RAG-System entscheidet, welche Textstellen das Sprachmodell erreichen.
Retrieval-Augmented Generation (RAG) soll einem Sprachmodell Informationen aus externen Datenquellen zur Verfügung stellen, die für eine konkrete Anfrage relevant sind. Eine zentrale technische Frage lautet deshalb, wie ein System aus möglicherweise Millionen von Textabschnitten diejenigen findet, die inhaltlich zu einer Frage passen.
Eine verbreitete Antwort auf diese Frage sind Embeddings und Vektorsuche. Dabei werden Texte nicht primär anhand identischer Wörter verglichen. Ein Embedding-Modell überführt Textabschnitte und Suchanfragen in numerische Vektoren, und anschließend lässt sich mathematisch bestimmen, welche Vektoren einander ähnlich sind. Verfahren zur Vektorsuche ermitteln aus großen Vektormengen diejenigen Kandidaten, die einer Suchanfrage am nächsten liegen.
In einer RAG-Pipeline laufen dafür zwei getrennte Vorgänge ab, die zu unterschiedlichen Zeitpunkten stattfinden. Der erste geschieht im Voraus, wenn die Wissensbasis aufgebaut wird. Jedes Dokument wird zunächst in kleinere Abschnitte zerlegt, weil ein vollständiger Bericht als Ganzes zu viele Themen auf einmal enthält, um gezielt auffindbar zu sein. Jeder dieser Abschnitte durchläuft anschließend das Embedding-Modell, das ihm eine Zahlenfolge und damit eine feste Position zuweist. Diese Positionen werden in einem Index abgelegt, der später schnell durchsuchbar ist. Dieser Durchlauf kostet Rechenzeit, findet aber nur einmal je Abschnitt statt, solange sich das Dokument nicht ändert.
Der zweite Vorgang läuft ab, sobald jemand eine Frage stellt. Die Frage geht durch dasselbe Embedding-Modell wie zuvor die Dokumentabschnitte und erhält auf diese Weise ebenfalls eine Position. Dass es dasselbe Modell sein muss, ist keine Formalie, sondern die Voraussetzung dafür, dass die Positionen überhaupt vergleichbar sind: Zwei unterschiedliche Modelle zeichnen zwei unterschiedliche Karten, deren Koordinaten nichts miteinander zu tun haben. Der Index ermittelt danach diejenigen Abschnitte, deren Positionen der Frage am nächsten liegen, und gibt eine festgelegte Anzahl davon zurück. Aus diesen Treffern wird kein Vektor weitergereicht, sondern wieder der ursprüngliche Text: Er wird zusammen mit der Frage zu einem Kontext zusammengestellt und dem Sprachmodell übergeben, das daraus die Antwort formuliert.
Die Vektorsuche entscheidet damit nicht, was in der Antwort steht. Sie entscheidet, welche Textstellen das Sprachmodell überhaupt zu sehen bekommt.
[BILD] Indexierungspfad und Abfragepfad im Vergleich, mit dem gemeinsamen Embedding-Modell als verbindendem Element
Embeddings und Vektorsuche bilden damit einen möglichen technischen Mechanismus für den Retrieval-Schritt einer RAG-Architektur. Die Arbeit, die diesen Ansatz ursprünglich beschrieben hat, unterscheidet dabei zwei Arten von Wissen. Das eine steckt im Sprachmodell selbst und stammt aus dessen Training. Es liegt in den Modellgewichten, lässt sich nicht einsehen, nicht gezielt korrigieren und nur durch erneutes Training verändern. Das andere liegt außerhalb des Modells, in einer durchsuchbaren Sammlung von Texten, die sich jederzeit ergänzen, aktualisieren oder entfernen lässt und deren Inhalte nachvollziehbar bleiben. In der ursprünglichen Arbeit bestand diese Sammlung aus Wikipedia-Abschnitten, die als Vektoren abgelegt und über eine semantische Suche angesprochen wurden.
Diese Trennung ist der eigentliche Grund für die Attraktivität des Verfahrens: Was ein RAG-System weiß, lässt sich ändern, ohne das Sprachmodell anzufassen. Dieser Artikel betrachtet genau diesen Teil der Architektur und geht der Frage nach, wie Embeddings entstehen, was Ähnlichkeit im Vektorraum bedeutet, wie Vektorindizes arbeiten und welche Auswirkungen diese Mechanismen auf die Qualität des Retrievals haben.
Überschrift fehlt
Eine verbreitete Antwort auf diese Frage sind Embeddings und Vektorsuche. Dabei werden Texte nicht primär anhand identischer Wörter verglichen. Ein Embedding-Modell überführt Textabschnitte und Suchanfragen in numerische Vektoren, und anschließend lässt sich mathematisch bestimmen, welche Vektoren einander ähnlich sind. Verfahren zur Vektorsuche ermitteln aus großen Vektormengen diejenigen Kandidaten, die einer Suchanfrage am nächsten liegen.
In einer RAG-Pipeline laufen dafür zwei getrennte Vorgänge ab, die zu unterschiedlichen Zeitpunkten stattfinden. Der erste geschieht im Voraus, wenn die Wissensbasis aufgebaut wird. Jedes Dokument wird zunächst in kleinere Abschnitte zerlegt, weil ein vollständiger Bericht als Ganzes zu viele Themen auf einmal enthält, um gezielt auffindbar zu sein. Jeder dieser Abschnitte durchläuft anschließend das Embedding-Modell, das ihm eine Zahlenfolge und damit eine feste Position zuweist. Diese Positionen werden in einem Index abgelegt, der später schnell durchsuchbar ist. Dieser Durchlauf kostet Rechenzeit, findet aber nur einmal je Abschnitt statt, solange sich das Dokument nicht ändert.
Der zweite Vorgang läuft ab, sobald jemand eine Frage stellt. Die Frage geht durch dasselbe Embedding-Modell wie zuvor die Dokumentabschnitte und erhält auf diese Weise ebenfalls eine Position. Dass es dasselbe Modell sein muss, ist keine Formalie, sondern die Voraussetzung dafür, dass die Positionen überhaupt vergleichbar sind: Zwei unterschiedliche Modelle zeichnen zwei unterschiedliche Karten, deren Koordinaten nichts miteinander zu tun haben. Der Index ermittelt danach diejenigen Abschnitte, deren Positionen der Frage am nächsten liegen, und gibt eine festgelegte Anzahl davon zurück. Aus diesen Treffern wird kein Vektor weitergereicht, sondern wieder der ursprüngliche Text: Er wird zusammen mit der Frage zu einem Kontext zusammengestellt und dem Sprachmodell übergeben, das daraus die Antwort formuliert.
Die Vektorsuche entscheidet damit nicht, was in der Antwort steht. Sie entscheidet, welche Textstellen das Sprachmodell überhaupt zu sehen bekommt.
[BILD] Indexierungspfad und Abfragepfad im Vergleich, mit dem gemeinsamen Embedding-Modell als verbindendem Element
Embeddings und Vektorsuche bilden damit einen möglichen technischen Mechanismus für den Retrieval-Schritt einer RAG-Architektur. Die Arbeit, die diesen Ansatz ursprünglich beschrieben hat, unterscheidet dabei zwei Arten von Wissen. Das eine steckt im Sprachmodell selbst und stammt aus dessen Training. Es liegt in den Modellgewichten, lässt sich nicht einsehen, nicht gezielt korrigieren und nur durch erneutes Training verändern. Das andere liegt außerhalb des Modells, in einer durchsuchbaren Sammlung von Texten, die sich jederzeit ergänzen, aktualisieren oder entfernen lässt und deren Inhalte nachvollziehbar bleiben. In der ursprünglichen Arbeit bestand diese Sammlung aus Wikipedia-Abschnitten, die als Vektoren abgelegt und über eine semantische Suche angesprochen wurden.
Diese Trennung ist der eigentliche Grund für die Attraktivität des Verfahrens: Was ein RAG-System weiß, lässt sich ändern, ohne das Sprachmodell anzufassen. Dieser Artikel betrachtet genau diesen Teil der Architektur und geht der Frage nach, wie Embeddings entstehen, was Ähnlichkeit im Vektorraum bedeutet, wie Vektorindizes arbeiten und welche Auswirkungen diese Mechanismen auf die Qualität des Retrievals haben.
Die Grundidee lässt sich ohne Mathematik verstehen
Die Formeln und Verfahren, um die es in diesem Artikel geht, wirken auf den ersten Blick sperrig. Der Gedanke dahinter ist es nicht. Er lässt sich beschreiben, ohne ein einziges Rechenzeichen zu verwenden, und dieses Kapitel tut das bewusst, bevor die folgenden Abschnitte die einzelnen Schritte präzise ausführen.
Den Ausgangspunkt bildet ein Problem, das jeder aus der Praxis kennt. Eine Suche nach dem Begriff „Verschlüsselungstrojaner“ findet ein Dokument nicht, in dem durchgehend von Ransomware die Rede ist, obwohl es sich um denselben Sachverhalt handelt. Klassische Suchverfahren vergleichen Zeichenketten. Sie erkennen, ob ein Wort vorkommt, aber nicht, wovon ein Text handelt. Für eine Wissensbasis, aus der ein Sprachmodell zuverlässig Belege ziehen soll, reicht das oft nicht aus.
Die Antwort darauf besteht darin, jedem Textabschnitt eine Position zu geben. Man kann sich das wie eine sehr große Landkarte vorstellen, auf der jeder Abschnitt einer Dokumentensammlung als Punkt eingetragen ist. Texte, die inhaltlich zusammengehören, liegen auf dieser Karte nahe beieinander; thematisch entfernte Inhalte liegen weit auseinander. Eine Suchanfrage wird nach denselben Regeln eingetragen, und das System sieht dann nach, welche Punkte in ihrer Umgebung liegen. Ob die gefundenen Texte dieselben Wörter enthalten, spielt dabei keine Rolle mehr.
Eine Position auf einer Landkarte wird durch zwei Zahlen beschrieben, Länge und Breite. Genau das ist ein Embedding, nur mit sehr viel mehr Zahlen: eine Liste von Koordinaten, die einen Punkt festlegt. Statt zwei Angaben sind es je nach Modell einige hundert oder mehrere tausend. Ein solcher Raum lässt sich nicht mehr anschaulich vorstellen, und das ist auch nicht nötig. Für Abstände und Richtungen gelten dort dieselben Rechenregeln wie in einer Ebene, nur eben mit mehr Koordinaten. Wichtig ist allein, dass die einzelnen Zahlen für sich genommen nichts bedeuten. Es gibt keine Spalte, in der steht, wie technisch oder wie aktuell ein Text ist. Aussagekraft besitzt ausschließlich die Lage eines Punktes im Verhältnis zu allen anderen.
Wer diese Positionen vergibt, ist ein trainiertes Modell. Damit ist auch gesagt, worauf die ganze Konstruktion beruht: Nähe auf dieser Karte ist kein objektiver Befund, sondern das Urteil eines bestimmten Modells darüber, was zusammengehört. Ein anderes Modell zeichnet eine andere Karte. Dass zwei Texte nahe beieinanderliegen, heißt deshalb, dass sie einander nach Einschätzung dieses Modells ähneln, und nicht, dass einer von beiden die Frage richtig beantwortet.
Bleibt die Frage, wie man in einer Sammlung von Millionen Punkten die nächstgelegenen findet. Jeden einzelnen Abstand auszurechnen wäre zwar exakt, aber mit wachsendem Bestand zu aufwendig. Die üblichen Verfahren gehen deshalb vor wie jemand, der in einer großen Bibliothek sucht: erst grob in die richtige Abteilung, dann in das passende Regal, dann in das Fach. Man betrachtet nicht mehr jedes Buch, sondern nur noch einen kleinen Teil des Bestands, und wird dadurch erheblich schneller. Der Preis dafür ist, dass ein passendes Buch in einer nicht betretenen Abteilung stehen kann und dann unentdeckt bleibt.
Dieser Preis ist der eigentliche Grund, warum das Thema für RAG-Architekturen zählt. Ein Textabschnitt, der bei der Suche nicht gefunden wird, erreicht das Sprachmodell nicht und kann von ihm auch nicht ergänzt werden. Fehlerhafte oder unvollständige Antworten haben ihre Ursache deshalb häufig nicht im Modell, sondern in einem Suchschritt, der die richtige Stelle nie betrachtet hat.
Die folgenden Kapitel führen diese Bilder in ihre technische Form über. Sie zeigen, wie Embeddings entstehen, mit welchen Funktionen sich Nähe berechnen lässt, wie die Abkürzungen bei der Suche im Einzelnen aufgebaut sind und welche Stellschrauben darüber entscheiden, wie viel Genauigkeit gegen Geschwindigkeit eingetauscht wird. Neue Sachverhalte kommen dabei nicht hinzu; es geht um die genaue Beschreibung dessen, was hier bereits umrissen ist.
Was ein Embedding ist und wie es entsteht
Ein Embedding ist eine numerische Repräsentation eines Eingabeobjekts. Bei Text-Embeddings wird ein Satz, Absatz oder Dokumentabschnitt durch einen Vektor mit einer festgelegten Anzahl numerischer Dimensionen repräsentiert. Der Satz „Object Storage speichert Daten als Objekte“ könnte vereinfacht als Zahlenfolge [0,17; -0,42; 0,08; 0,71; …] erscheinen, wobei ein reales Embedding abhängig vom Modell wesentlich mehr Dimensionen besitzt. Entscheidend ist dabei nicht die Bedeutung einer einzelnen Zahl, sondern die Position des gesamten Vektors im Verhältnis zu anderen Vektoren.
Für semantische Suchverfahren werden Modelle so eingesetzt beziehungsweise trainiert, dass semantisch ähnliche Texte anhand ihrer Vektorrepräsentationen verglichen werden können. Sentence-BERT erzeugt beispielsweise Sentence Embeddings, die sich unter anderem mittels Cosine Similarity vergleichen lassen. Reimers und Gurevych entwickelten diesen Ansatz insbesondere, um den bei klassischem BERT sehr aufwendigen paarweisen Vergleich großer Satzmengen effizienter zu machen: Das Auffinden des ähnlichsten Satzpaares in einer Sammlung von 10.000 Sätzen erfordert mit BERT rund 50 Millionen Inferenzberechnungen; die Autoren beziffern den Aufwand mit etwa 65 Stunden gegenüber rund fünf Sekunden mit SBERT.
Darin liegt der entscheidende Unterschied zu einer rein lexikalischen Suche. Eine Schlüsselwortsuche nach dem Ausdruck „Schutz vor Verschlüsselungstrojanern“ findet einen Abschnitt nicht, in dem von der „Abwehr von Ransomware-Angriffen“ die Rede ist. Ein semantisches Retrieval-System kann diesen Abschnitt abhängig vom verwendeten Embedding-Modell dennoch hoch bewerten, weil die Texte dafür nicht dieselben Wörter enthalten müssen. Entscheidend ist allein, ob das Modell ihre Repräsentationen im Vektorraum entsprechend ähnlich abbildet. Die Sentence-Transformers-Dokumentation beschreibt Semantic Search genau nach diesem Prinzip, indem Corpus und Query in denselben Vektorraum eingebettet und anhand der Nähe ihrer Embeddings verglichen werden. Sie unterscheidet dabei zusätzlich zwischen symmetrischer und asymmetrischer semantischer Suche, je nachdem, ob Query und Korpuseinträge vergleichbare Länge und Informationsdichte besitzen.
Chunking bestimmt, was überhaupt gefunden werden kann
In einer RAG-Pipeline wird ein umfangreiches Dokument in aller Regel nicht als einzelner Suchvektor behandelt. Zuvor erfolgt das Chunking, bei dem Dokumente in kleinere Einheiten zerlegt werden, die separat verarbeitet und später wiedergefunden werden können. Aus einer Datei wird dabei zunächst der Text extrahiert, dieser Text in mehrere Chunks zerlegt und für jeden Chunk ein eigener Vektor erzeugt.
[BILD] Verarbeitungsschritte von der Originaldatei über Textextraktion und Chunking bis zu den einzelnen Vektoren
Die Bedeutung dieser Aufteilung zeigt sich an einem einfachen Beispiel. Umfasst ein technisches Dokument 50 Seiten und behandelt zehn unterschiedliche Themen, dann müsste eine einzige Repräsentation für das gesamte Dokument sehr unterschiedliche Inhalte zusammenfassen. Chunks erlauben dagegen eine feinere Retrieval-Einheit, sodass eine Suchanfrage gezielt einen Abschnitt adressieren kann, anstatt lediglich festzustellen, dass das Gesamtdokument möglicherweise relevant ist.
Damit entsteht allerdings ein Zusammenhang, der sich nicht auflösen lässt: Chunking und Embedding sind für das Retrieval nicht unabhängig voneinander zu betrachten. Die Chunk-Größe und die Grenzen zwischen den Chunks bestimmen, welcher Text gemeinsam in eine Repräsentation eingeht, und das Embedding-Modell bestimmt wiederum, wie dieser Text im Vektorraum repräsentiert wird. Der eigentliche Chunking-Prozess wird deshalb im RAG-Architekturartikel behandelt. Für die Vektorsuche ist entscheidend, dass die Suchobjekte bereits als definierte Retrieval-Einheiten vorliegen.
[QUERVERWEIS: RAG-Architekturartikel – Chunking-Strategien und Ingestion-Pipeline]
Ähnlichkeit ist eine Rechenvorschrift, keine Eigenschaft des Textes
Nachdem Texte als Vektoren vorliegen, benötigt das Retrieval eine mathematische Funktion, mit der sich Vektoren vergleichen lassen. Dafür existieren mehrere Verfahren, die unterschiedliche Aspekte der Lage zweier Vektoren zueinander bewerten.
Cosine Similarity
Cosine Similarity betrachtet den Winkel zwischen zwei Vektoren und berechnet sich vereinfacht als cos(a,b) = (a · b) / (||a|| ||b||). Dabei steht a · b für das Skalarprodukt und ||a|| beziehungsweise ||b|| für die Länge der beiden Vektoren. Je ähnlicher ihre Richtung, desto höher fällt die Cosine Similarity aus, wobei der Wertebereich von -1 bis 1 reicht.
Dot Product
Beim Dot Product beziehungsweise Inner Product wird das Skalarprodukt zweier Vektoren als a · b = Σ aᵢbᵢ berechnet. Im Unterschied zur Cosine Similarity wird dabei nicht grundsätzlich durch die Vektorlängen normalisiert. Sind die Vektoren bereits auf Länge 1 normalisiert, fällt der Normalisierungsterm weg, und beide Verfahren liefern identische Werte. Die Sentence-Transformers-Dokumentation weist deshalb darauf hin, dass bei normalisierten Embeddings Dot Product verwendet werden kann und in diesem Fall die schnellere Variante darstellt. Faiss dokumentiert denselben Zusammenhang für IndexFlatIP, der bei vorab normalisierten Vektoren auch für Cosine Similarity eingesetzt werden kann.
Euclidean Distance
Eine weitere Möglichkeit ist die euklidische Distanz d(a,b) = √Σ(aᵢ-bᵢ)², bei der unmittelbar die geometrische Entfernung zwischen zwei Punkten im Vektorraum bestimmt wird. Faiss unterstützt exakte Suche nach euklidischer Distanz über METRIC_L2 sowie Maximum Inner ProductSearch über METRIC_INNER_PRODUCT.
Die Metrik gehört zum Modell
Eine allgemeingültig beste Similarity-Funktion gibt es nicht. Die Metrik muss zum verwendeten Embedding-Modell und dessen Training beziehungsweise Dokumentation passen. Sentence Transformers unterstützt unter anderem Cosine Similarity, Dot Product, euklidische und Manhattan-Distanz; welche Funktion für ein Modell vorgesehen ist, hinterlegt die Bibliothek modellseitig, und Modelle, die mit einem Normalisierungsschritt abschließen, sind entsprechend auf Dot Product ausgelegt. Die Similarity-Metrik sollte deshalb nicht isoliert von der Wahl des Embedding-Modells festgelegt werden.
Wie aus einer Frage konkrete Treffer werden
Der Ablauf einer Suche lässt sich an einer kleinen Wissensbasis nachvollziehen. Sie enthalte drei Chunks: einen Abschnitt A mit dem Satz „NVMe verwendet ein für nichtflüchtige Speicher entwickeltes Protokoll“, einen Abschnitt B mit dem Satz „Object Storage adressiert Daten über Objekte und deren Identifikatoren“ sowie einen Abschnitt C mit dem Satz „Snapshots können einen definierten Zustand von Daten referenzieren“. Für jeden dieser Chunks liegt ein Embedding vor.
Fragt ein Benutzer nun, wie Daten bei Object Storage adressiert werden, wird auch diese Frage durch das Embedding-Verfahren in einen Query-Vektor umgewandelt. Danach berechnet beziehungsweise approximiert das Retrieval-System die Ähnlichkeit zwischen dem Query-Vektor und den gespeicherten Vektoren. Ein mögliches Ergebnis sähe so aus:
Chunk
Similarity
B
0,86
C
0,31
A
0,18
Die Zahlen sind hier ausschließlich ein didaktisches Beispiel und keine Messwerte. Das System gibt anschließend eine festgelegte Anzahl der am höchsten bewerteten Kandidaten zurück, was als Top-k Retrieval bezeichnet wird: Bei einem k von 3 werden die drei bestbewerteten Kandidaten ausgewählt. Diese Chunks können danach weiteren Verarbeitungsschritten wie Reranking oder Context Assembly zugeführt werden, bevor ausgewählte Inhalte als Kontext an das Sprachmodell gehen.
Entscheidend ist dabei, was ein solcher Score aussagt und was nicht. Er misst die Ähnlichkeit entsprechend der verwendeten Vektorrepräsentation und Metrik. Er beweist nicht, dass ein Text sachlich richtig oder tatsächlich die beste Quelle für die Frage ist.
Warum große Bestände einen Index brauchen
Bei wenigen Vektoren kann eine Suchanfrage mit jedem gespeicherten Vektor verglichen werden, was als exhaustive beziehungsweise exakte Suche bezeichnet wird. Faiss stellt dafür IndexFlatL2 und IndexFlatIP bereit. Die Dokumentation bezeichnet diese Indizes ausdrücklich als die einzigen, die exakte Ergebnisse garantieren, und als Referenzmaßstab für die Genauigkeit aller übrigen Indexverfahren. Sie komprimieren die Vektoren nicht, benötigen kein Training und besitzen keine Suchparameter.
Mit wachsender Anzahl von Vektoren steigt jedoch der Aufwand einer vollständigen Suche. Bei N gespeicherten Vektoren mit jeweils d Dimensionen erfordern die Distanzberechnungen einer vollständigen Suche Arbeit in der Größenordnung von O(N · d). Für große Datenbestände werden deshalb Indexstrukturen verwendet, die nicht mehr jeden gespeicherten Vektor vollständig untersuchen müssen. An dieser Stelle beginnt die ApproximateNearest Neighbor Search, kurz ANN.
Die grundlegende Architekturentscheidung lautet damit, ob garantiert der mathematisch nächste Vektor gefunden werden muss oder ob mit hoher Wahrscheinlichkeit ein sehr naher Kandidat genügt, wenn die Suche dafür effizienter wird. Eine exakte Suche vergleicht die Query mit allen Kandidaten und liefert die tatsächlich nächsten Nachbarn. Eine approximative Suche führt die Query stattdessen über eine Indexstruktur, die nur eine Teilmenge des Bestands oder einen bestimmten Suchpfad erschließt, und liefert dadurch angenäherte nächste Nachbarn.
Der Vorteil von ANN entsteht dabei nicht dadurch, dass die Distanzberechnung selbst eine andere Bedeutung bekäme. Stattdessen wird der Suchraum reduziert beziehungsweise strukturiert erschlossen. Daraus folgt ein fundamentaler Trade-off zwischen geringerem Suchaufwand und einer möglichen Abweichung vom exakten Ergebnis. Faiss beschreibt die Auswahl eines Indexverfahrens ausdrücklich als Optimierung eines Precision-Speed-Trade-offs innerhalb gegebener Speichergrenzen und unterscheidet dafür exhaustive von nicht-exhaustiven Indexverfahren.
Zwei Wege, den Suchraum zu verkleinern
Für die approximative Suche haben sich zwei Prinzipien durchgesetzt, die den Suchraum auf unterschiedliche Weise reduzieren. Das eine navigiert über einen Graphen, das andere teilt den Raum in Bereiche auf.
HNSW: Navigation über einen mehrschichtigen Graphen
Hierarchical Navigable Small World, kurz HNSW, ist ein graphbasiertes Verfahren. Malkov und Yashunin beschreiben es als inkrementell aufgebaute mehrschichtige Struktur aus Proximity Graphs über verschachtelten Teilmengen der gespeicherten Elemente. Die oberste Ebene, in der ein Element vertreten ist, wird zufällig anhand einer exponentiell abfallenden Wahrscheinlichkeitsverteilung bestimmt. Dadurch enthalten obere Ebenen weniger Elemente und ermöglichen eine grobe Navigation durch den Suchraum, während die Suche auf tieferen Ebenen zunehmend verfeinert wird, bis auf der untersten Ebene lokale Kandidaten geprüft werden. Die Autoren führen die Skalierung mit logarithmischer Komplexität auf genau diesen Start in der obersten Ebene in Verbindung mit der Trennung der Verbindungen nach charakteristischen Distanzskalen zurück. Statt alle Vektoren miteinander zu vergleichen, folgt die Suche also Verbindungen innerhalb dieses Graphen.
[BILD] Mehrschichtiger HNSW-Graph mit grober Navigation auf der oberen Ebene und lokaler Kandidatensuche auf der untersten Ebene
Mehrere Parameter beeinflussen dabei den Trade-off zwischen Ressourcenbedarf, Suchgeschwindigkeit und Recall. In Faiss sind das M als Anzahl der Verbindungen pro Vektor, efConstruction als Explorationstiefe beim Einfügen und efSearch als Explorationstiefe bei der Suche. Faiss nennt für Meinen typischen Bereich von 4 bis 64 und beschreibt efSearch ausdrücklich als denjenigen Parameter, über den sich der Trade-off zwischen Geschwindigkeit und Genauigkeit einstellen lässt. Damit zeigt HNSW ein allgemeines Prinzip approximativer Verfahren besonders deutlich: Mehr Suchaufwand erhöht die Wahrscheinlichkeit, die tatsächlichen nächsten Nachbarn zu finden, während weniger Suchaufwand die Suche beschleunigt und zugleich das Risiko erhöht, relevante Kandidaten nicht zu untersuchen.
IVF: Aufteilung des Vektorraums in Bereiche
Inverted File Indexing, kurz IVF, verfolgt ein anderes Prinzip. Dabei wird der Vektorraum in Bereiche beziehungsweise Cluster gegliedert, und jeder Vektor wird einem entsprechenden Bereich zugeordnet. Die Clusterbildung erfolgt vorab und erfordert deshalb, anders als bei einem Flat- oder HNSW-Index, einen Trainingsschritt auf einer repräsentativen Stichprobe des Datenbestands.
Bei einer Suchanfrage werden anschließend nicht alle Bereiche untersucht, sondern nur diejenigen, die für den Query-Vektor vielversprechend erscheinen. Liegt die Query nahe an einem bestimmten Cluster, kann die Suche zunächst Kandidaten aus diesem Cluster und aus ausgewählten benachbarten Bereichen betrachten.
[BILD] Aufteilung des Vektorraums in Cluster mit Query-Position und den tatsächlich untersuchten Bereichen
Bei Faiss steuert nprobe, wie viele Inverted Lists während einer IVF-Suche untersucht werden. Wird nprobe erhöht, kommen mehr Kandidaten in Betracht, womit sich der Trade-off zwischen Suchaufwand und Genauigkeit verschiebt. Entspricht nprobe bei einem IVFFlat-Index der Gesamtzahl der Listen, wird jeder gespeicherte Vektor betrachtet, und das Verfahren fällt auf eine exhaustive Suche zurück.
Was der Index übersieht, kann kein Sprachmodell ergänzen
Der Recall-Trade-off approximativer Verfahren ist für RAG-Architekturen besonders folgenreich. Ein ANN-Index kann sehr effizient arbeiten und trotzdem einen fachlich relevanten Chunk übersehen, wenn dessen Vektor im approximativen Suchprozess nicht als Kandidat betrachtet wird.
Das ist zunächst kein Fehler des Sprachmodells, denn der Informationsverlust entsteht früher in der Kette. Der relevante Chunk ist vorhanden, sein Embedding existiert, aber die ANN-Suche untersucht ihn nicht. Damit fehlt er in den Top-k-Treffern, und das Sprachmodell erhält diese Information nie. Es kann sie folglich weder verwenden noch bemerken, dass sie fehlt.
Daran wird deutlich, warum sich die Qualität eines RAG-Systems nicht allein anhand des verwendeten Sprachmodells beurteilen lässt. Ein Modellwechsel korrigiert keinen Retrieval-Fehler, der vor der Generierung entstanden ist.
Ein Vektorindex ist noch keine Vektordatenbank
Die Begriffe Vektorindex und Vektordatenbank sollten nicht gleichgesetzt werden. Ein Vektorindex ist zunächst eine Datenstruktur beziehungsweise ein Suchmechanismus für Vektoren. Faiss bezeichnet seine entsprechenden Datenstrukturen ausdrücklich als Indexes und beschreibt sie als Objekte, die Vektoren über add aufnehmen und über search abfragbar machen. Eine Vektordatenbank beziehungsweise ein Datenbanksystem mit Vektorsuche übernimmt darüber hinaus typischerweise Funktionen rund um Speicherung, Verwaltung, Identifikation, Aktualisierung und Abfrage der Vektordaten.
Für RAG ist insbesondere die Zuordnung zwischen Vektor und ursprünglicher Information notwendig. Konzeptionell kann ein Eintrag dafür eine Vector ID, das Embedding selbst, eine Chunk ID, eine Document ID, Metadaten sowie eine Referenz auf den Originalinhalt enthalten, wobei die konkrete Datenstruktur implementierungsabhängig ist. Dass diese Zuordnung nicht selbstverständlich ist, zeigt sich bereits auf Indexebene: Faiss-Indizes liefern zunächst fortlaufende Positionen zurück, eigene Identifikatoren erfordern eine zusätzliche Abbildung, und einzelne Verfahren wie HNSW unterstützen weder add_with_ids noch das Entfernen von Vektoren. Die Vektorsuche beantwortet also lediglich, welche Vektoren einer Query am ähnlichsten sind; die umgebende Datenhaltung muss anschließend bestimmen können, zu welchen Dokumenten und Textabschnitten diese Vektoren gehören.
Diese Unterscheidung betrifft auch die Datenhaltung insgesamt, denn ein Embedding ersetzt das Quelldokument nicht. In einer RAG-Architektur existieren nebeneinander die Originaldatei, der daraus extrahierte Inhalt, die daraus gebildeten Chunks sowie die Embeddings im Vektorindex. Diese Ebenen erfüllen unterschiedliche Aufgaben: Der Vektor dient der Suche beziehungsweise der Repräsentation für das Retrieval, während für die spätere Generierung wieder der zugehörige Textinhalt benötigt wird. Eine RAG-Architektur muss deshalb die Beziehung zwischen Originaldaten, extrahierten Daten, Chunks, Metadaten und Vektoren dauerhaft erhalten.
Metadaten und Berechtigungen gehören zur Retrieval-Logik
Semantische Ähnlichkeit ist nur eine Dimension der Relevanz. Enthält eine Wissensbasis technische Dokumentationen aus mehreren Jahren und lautet die Anfrage, welche Funktionen Version 8 unterstützt, dann kann ein älteres Dokument zu Version 6 semantisch sehr ähnlich sein und für die konkrete Frage dennoch ungeeignet bleiben.
Deshalb lassen sich Vektorsuche und strukturierte Filter kombinieren. Zur semantischen Bedingung, ähnlich zu den Funktionen der Version 8 zu sein, treten dann zusätzliche Einschränkungen auf Feldern wie Produkt, Version, Sprache oder Dokumentstatus. Erst die Kombination beider Bedingungen entscheidet darüber, welche Kandidaten für die weitere Verarbeitung infrage kommen. Metadaten sind damit nicht lediglich Zusatzinformationen für die Anzeige, sondern ein Bestandteil der Retrieval-Logik.
Besonders wichtig wird dieser Zusammenhang bei Berechtigungen. Ein semantisch passender Chunk darf nicht allein deshalb in den RAG-Kontext gelangen, weil sein Vektor eine hohe Ähnlichkeit besitzt. Autorisierung und Retrieval müssen so zusammenspielen, dass nur Inhalte berücksichtigt werden, auf die der jeweilige Benutzer beziehungsweise Prozess zugreifen darf. Die konkrete Umsetzung von ACLs, Identity und Authorization ist ein eigenes Architekturproblem und wird deshalb gesondert behandelt.
[QUERVERWEIS: Berechtigungen und Zugriffsrechte bei RAG]
Änderungen an Dokumenten sind ein Retrieval-Problem
Unternehmensdaten sind nicht statisch. Eine Datei kann verändert, ersetzt, gelöscht oder verschoben werden, und auch ihre Berechtigungen können sich ändern. Damit entsteht ein Synchronisationsproblem, denn wenn sich der für einen Chunk relevante Inhalt ändert, lässt sich das bisherige Embedding nicht mehr als Repräsentation des neuen Inhalts behandeln. Der geänderte Inhalt muss entsprechend der verwendeten Pipeline erneut verarbeitet werden: Die Änderung ist zu erkennen, der betroffene Inhalt erneut zu extrahieren, die Chunks sind zu aktualisieren, die Embeddings neu zu erzeugen und der Index entsprechend nachzuführen.
Ebenso wichtig ist das Löschen. Existiert ein Dokument nicht mehr oder darf es nicht mehr verwendet werden, muss verhindert werden, dass veraltete Retrieval-Einträge weiterhin als Treffer zurückgegeben werden. Wie aufwendig das ist, hängt vom gewählten Indexverfahren ab: Faissdokumentiert beispielsweise, dass HNSW-Indizes das Entfernen von Vektoren nicht unterstützen, weil dies die Graphstruktur zerstören würde. Freshness und Lifecycle Management sind damit nicht nur Storage-Fragen, sondern Teil der Retrieval-Architektur.
Warum Embeddings nicht jedes Suchproblem lösen
Embeddings sind ein leistungsfähiger Mechanismus, aber kein universeller Ersatz für andere Suchverfahren. Drei Grenzen sind für die Architekturplanung besonders relevant.
Semantische Ähnlichkeit ist nicht Wahrheit
Zwei Texte können semantisch sehr ähnlich sein und sich trotzdem in einer entscheidenden Tatsache widersprechen. Die Aussagen „Feature X wird ab Version 8 unterstützt“ und „Feature X wird bis einschließlich Version 8 nicht unterstützt“ besitzen einen großen Teil ihres Vokabulars und Kontextes gemeinsam. Ob und wie gut ein konkretes Embedding-Modell die entscheidende Negation beziehungsweise den Bedeutungsunterschied für das Retrieval repräsentiert, muss anhand des Modells und des Anwendungsfalls bewertet werden. Ein Similarity Score ist deshalb kein Wahrheitswert.
Exakte Bezeichner erfordern andere Suchmechanismen
Seriennummern, Dateinamen, Produktcodes, IP-Adressen oder exakte Versionsbezeichnungen stellen nicht dieselbe Art von Suchproblem dar wie semantische Ähnlichkeit. Deshalb können Architekturen semantische und lexikalische Suchverfahren kombinieren. Solche Hybrid-Retrieval-Verfahren sind insbesondere dann relevant, wenn sowohl Bedeutungsähnlichkeit als auch exakte Begriffe eine Rolle spielen.
Embedding-Modelle sind nicht austauschbar
Unterschiedliche Modelle können verschiedene Dimensionen, Trainingsziele, Sprachen und Similarity-Funktionen verwenden. Ein bestehender Vektorindex ist deshalb eng mit dem verwendeten Embedding-Verfahren verbunden. Ein Modellwechsel kann bedeuten, dass vorhandene Inhalte erneut eingebettet und der entsprechende Index vollständig neu aufgebaut werden muss.
Retrieval-Qualität entsteht aus der gesamten Kette
Bei Problemen mit semantischer Suche wird häufig unmittelbar auf den Vector Store oder dessen Index geschaut. Die Retrieval-Qualität entsteht jedoch aus einer Folge voneinander abhängiger Entscheidungen, die von den Quelldaten über Extraction und Chunking zum Embedding-Modell, zur Similarity-Metrik, zum Indexverfahren und dessen Parametern und weiter über Metadatenfilter und die Wahl von k bis zu einem etwaigen Rerankingreicht.
Ein Fehler oder Informationsverlust in einer früheren Stufe lässt sich durch eine spätere Stufe nicht zwangsläufig korrigieren. Ist eine Tabelle bei der Extraktion falsch aufgelöst worden, kann ein Embedding-Modell die verlorene Struktur nicht rekonstruieren. Ist ein fachlicher Zusammenhang durch ungeeignetes Chunking getrennt worden, arbeitet das Embedding-Modell bereits mit einer veränderten Retrieval-Einheit. Und wird ein relevanter Chunk von einem ANN-Index nicht als Kandidat gefunden, kann ihn auch ein nachgelagerter Reranker nicht auswählen. Diese Abhängigkeit ist für die Fehlersuche in RAG-Systemen entscheidend.
Aus demselben Grund lässt sich die Performance einer Vektorsuche nicht auf schnellen Storage reduzieren. Sie hängt unter anderem von der Anzahl der Vektoren und ihrer Dimension ab, vom numerischen Format, von Indexstruktur und Indexparametern, von der verwendeten Similarity-Metrik, von der Anzahl abgefragter Kandidaten und gesetzter Filter, vom Speicherbedarf des Index, von CPU- beziehungsweise GPU-Verarbeitung und Parallelität sowie von der Änderungsrate des Bestands. Indexverfahren verursachen dabei eigenen Speicherbedarf: Bei HNSW benötigt die Graphstruktur neben den eigentlichen Vektoren zusätzliche Informationen für ihre Verbindungen, und Faiss beziffert den Bedarf mit d · 4 + M · 2 · 4 Bytes je Vektor, sodass M nicht nur die Suche, sondern auch den Speicherbedarf linear beeinflusst. Faiss weist zudem darauf hin, dass sämtliche Indizes im Arbeitsspeicher gehalten werden, womit der verfügbare RAM häufig die eigentliche Grenze darstellt. Bei IVF wiederum bestimmt die Anzahl untersuchter Listen den Suchaufwand.
Die Architekturentscheidung lautet deshalb nicht, welche Vektordatenbank am schnellsten ist. Sie lautet, welche Kombination aus Embedding-Modell, Suchverfahren, Indexparametern, Datenmenge, Änderungsrate, Filteranforderungen, Ressourcenbedarf und gewünschtem Retrieval-Recall den konkreten Anwendungsfall erfüllt.
Damit lässt sich der Beitrag von Embeddings und Vektordatenbanken klar abgrenzen. Sie helfen dabei, aus einem Datenbestand Kandidaten zu finden, deren Vektorrepräsentationen zu einer Anfrage passen. Sie lösen dagegen nicht automatisch die Datenextraktion, das Dokumentverständnis, das Chunking, die Datenqualität, die Aktualität, die Berechtigungen, das Reranking, die Context Assembly, die Quellenbewertung oder die Halluzinationsneigung des Sprachmodells. Ein RAG-System ist deshalb als Verarbeitungskette zu betrachten, die von den Originaldaten über Ingestion, Extraction und Chunking zu Embeddings und Index führt und auf der Abfrageseite über Query Embedding, Retrieval, Reranking und Context Assembly beim Sprachmodell endet. Embeddings und Vektorsuche befinden sich in der Mitte dieser Kette, und ihre Aufgabe besteht darin, aus großen Informationsbeständen eine kleine Menge potenziell relevanter Kandidaten für die nächsten Verarbeitungsschritte zu bestimmen.
[BILD] Vollständige RAG-Verarbeitungskette von der Ingestion bis zur Generierung mit Kennzeichnung der Retrieval-Stufe
Fazit
Embeddings bilden die Brücke zwischen unstrukturiertem Text und mathematischer Suche. Sie repräsentieren Textabschnitte und Anfragen als Vektoren, deren Ähnlichkeit sich berechnen lässt, und Vektorindizes ermöglichen es, entsprechende Nachbarn auch in großen Datenbeständen effizient zu finden. Für RAG ist diese Kombination besonders relevant, weil sie den Übergang von einer natürlichsprachlichen Frage zu konkreten Dokumentabschnitten überhaupt erst herstellt.
Die technische Qualität des Retrievals entsteht jedoch nicht allein durch den Einsatz einer Vektordatenbank. Sie hängt von der gesamten vorgelagerten und nachgelagerten Verarbeitungskette ab, von Extraction und Chunking über das Embedding-Modell und den Index bis zu Filtern, Reranking und Context Assembly. Die entscheidende Architekturfrage lautet deshalb nicht, ob eine Vektordatenbank eingesetzt wird, sondern welche Retrieval-Architektur unter den konkreten Daten-, Qualitäts-, Performance- und Berechtigungsanforderungen zuverlässig die benötigten Informationen findet.
Quellen
Lewis, Patrick; Perez, Ethan; Piktus, Aleksandra et al.: Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. In: Advances in Neural Information Processing Systems 33 (NeurIPS 2020), 34th Conference on Neural Information Processing Systems, Vancouver. arXiv:2005.11401. Abgerufen am 2. September 2026.
Reimers, Nils; Gurevych, Iryna: Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. In: Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), Hongkong, S. 3982–3992. Association for Computational Linguistics. DOI 10.18653/v1/D19-1410. Abgerufen am 2. September 2026.
Malkov, Yu. A.; Yashunin, D. A.: Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs. In: IEEE Transactions on Pattern Analysis and Machine Intelligence, Band 42, Heft 4, April 2020, S. 824–836. DOI 10.1109/TPAMI.2018.2889473. Preprint: arXiv:1603.09320. Abgerufen am 2. September 2026.
Meta AI Research / Faiss-Projekt: Faiss Wiki – Faiss indexes sowie Guidelines to choose an index. Projektdokumentation, facebookresearch/faiss. Abgerufen am 2. September 2026.
Meta AI Research / Faiss-Projekt: Faiss C++ API – Struct faiss::IndexFlat. Projektdokumentation. Abgerufen am 2. September 2026.
UKP Lab / Sentence Transformers: Semantic Search sowie Semantic Textual Similarity. Technische Dokumentation, sbert.net. Abgerufen am 2. September 2026.
Welche Entscheidung steht bei Ihnen an?
Sie möchten eine bestehende Infrastruktur bewerten, eine neue Architektur planen oder eine konkrete technische Fragestellung klären? Sprechen Sie mit uns über Ihre Anforderungen.
Spezialist für moderne Dateninfrastruktur

