Speicher für Embeddings

Was ist eine Vektordatenbank?

Vector Database

Eine Vektordatenbank ist eine Datenbank, die Texte, Bilder oder Audio als Zahlenvektoren, sogenannte Embeddings, speichert und zu einer Anfrage die inhaltlich ähnlichsten Einträge findet. Statt auf exakte Übereinstimmung zu prüfen, misst sie den Abstand zwischen Vektoren und findet deshalb auch Treffer, die ganz anders formuliert sind.

Sobald ein Assistent Fragen zu deinen eigenen Handbüchern und Verträgen beantworten soll, braucht er einen Speicher, der nach Bedeutung sucht statt nach Stichwort.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Gehört zu
Retrieval Augmented Generation
Speichert
Embeddings, also Zahlenvektoren
Typisch bei
Suche in eigenen Dokumenten und Handbüchern
Verwechselt mit
Volltextsuche

So läuft eine Ähnlichkeitssuche ab

Eine Vektordatenbank sucht nicht nach Wörtern, sondern nach Bedeutung. Damit das funktioniert, durchläuft jeder Inhalt dieselben Schritte, und jede Anfrage wird auf dieselbe Weise umgerechnet:

  1. Zerlegen

    Lange Dokumente werden in Abschnitte geteilt, sogenannte Chunks, damit ein Treffer auf eine konkrete Stelle zeigt und nicht auf ein ganzes Handbuch.

  2. Einbetten

    Ein Embedding-Modell rechnet jeden Abschnitt in eine Liste von einigen hundert bis einigen tausend Zahlen um, die seine Bedeutung als Punkt im Raum beschreibt.

  3. Speichern

    Die Datenbank legt den Vektor zusammen mit Metadaten ab, etwa Quelle, Stand, Abteilung und Berechtigung.

  4. Anfrage umrechnen

    Die Frage wird mit demselben Modell in einen Vektor übersetzt, sonst sind die Zahlen nicht vergleichbar.

  5. Nächste Nachbarn suchen

    Über einen Index findet die Datenbank die Vektoren mit dem geringsten Abstand zur Anfrage und wendet dabei die Metadatenfilter an.

  6. Treffer weitergeben

    Die passenden Abschnitte gehen an die Anwendung zurück, bei Retrieval Augmented Generation an ein Sprachmodell, das daraus die Antwort formuliert.

Praktisch heißt das: Wer nach dem Urlaubsantrag sucht, findet auch das Dokument, in dem nur von Ferien und Freistellung die Rede ist. Eine reine Stichwortsuche geht in diesem Fall leer aus.

Abstandsmaße: woran die Datenbank Ähnlichkeit misst

Ähnlich heißt in einer Vektordatenbank: nah beieinander. Wie die Nähe gemessen wird, legst du beim Anlegen einer Sammlung oder eines Index fest. Drei Maße sind üblich:

MaßWas es misstTypischer Einsatz
KosinusähnlichkeitDen Winkel zwischen zwei Vektoren, die Länge spielt keine RolleTextembeddings
SkalarproduktWinkel und Länge zusammenModelle, die dafür trainiert sind
Euklidischer AbstandDie direkte Entfernung zwischen zwei PunktenBild- und Messdaten

Sind die Vektoren auf die Länge eins normiert, liefern alle drei Maße dieselbe Rangfolge. Welches Maß passt, gibt meist das Embedding-Modell in seiner Dokumentation vor, und daran solltest du dich halten.

Index und Hybrid Search

Jeden Vektor mit jedem zu vergleichen ist bei großen Beständen zu langsam. Deshalb arbeiten die Systeme mit Näherungsverfahren für die Suche nach nächsten Nachbarn, englisch Approximate Nearest Neighbor. Verbreitet sind HNSW, ein mehrschichtiger Graph, über den die Suche in wenigen Sprüngen zum Ziel kommt, und IVF, das den Raum in Cluster teilt und nur die nächstgelegenen durchsucht. Der Preis dafür ist, dass gelegentlich ein passender Treffer durchrutscht, und wie oft das passiert, steuerst du über die Indexparameter.

In der Umsetzung gewinnt fast immer die Kombination: Stichwortsuche für Produktnummern, Namen und Fehlercodes, Vektorsuche für die Bedeutung, beides zusammengeführt. Diese Hybrid Search bieten viele Systeme inzwischen eingebaut an. Dazu kommen Metadatenfilter, mit denen Mandant, Abteilung und Berechtigung schon in der Suche selbst wirken statt erst danach.

Eigenes System oder Erweiterung der vorhandenen Datenbank

Eine Vektordatenbank muss kein neues Produkt sein. Viele Datenbanken und Suchmaschinen beherrschen die Vektorsuche inzwischen selbst, und die Wahl hängt vor allem davon ab, wo deine Daten heute liegen:

VarianteBeispielePasst, wenn
Erweiterung einer relationalen Datenbankpgvector für PostgreSQLDaten, Rechte und Transaktionen schon dort liegen
Suchmaschine mit VektorfunktionElasticsearch, OpenSearchEine Volltextsuche existiert und Hybrid Search gefragt ist
Spezialisierte VektordatenbankQdrant, Milvus, Weaviate, PineconeBestand, Last oder Filterlogik groß werden

Für Prototypen reicht oft eine eingebettete Bibliothek wie Chroma, die ohne eigenen Server läuft. Ein spezialisiertes System lohnt sich, wenn Menge, Antwortzeiten oder Filterlogik die vorhandene Lösung überfordern, und nicht schon deshalb, weil ein KI-Projekt beginnt.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Nicht verwechseln

Vektordatenbank und was oft damit gleichgesetzt wird

Vektordatenbank gegen Embedding

Das Embedding ist der Vektor selbst, erzeugt von einem eigenen Modell. Die Vektordatenbank erzeugt ihn nicht, sie speichert ihn und macht ihn schnell durchsuchbar.

Vektordatenbank gegen Volltextsuche

Eine Volltextsuche vergleicht Wörter und Wortstämme und ist bei Nummern, Namen und exakten Formulierungen überlegen. Die Vektorsuche vergleicht Bedeutung und findet auch andere Formulierungen desselben Sachverhalts.

Vektordatenbank gegen Graphdatenbank

Eine Graphdatenbank bildet Beziehungen zwischen Objekten ab und beantwortet Fragen nach Wegen und Verknüpfungen. Ähnlichkeit spielt dort keine Rolle, dafür Struktur.

Vektordatenbank gegen Retrieval Augmented Generation

RAG ist das Verfahren, bei dem ein Sprachmodell vor der Antwort passende Textstellen nachschlägt. Die Vektordatenbank ist darin häufig der Speicher, aus dem diese Stellen kommen, aber nur ein Baustein: Zerlegung, Abfrage, Prompt und Bewertung gehören ebenso dazu.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
In der Praxis

Die Qualität entsteht vor der Datenbank, nicht in ihr

Fast jedes enttäuschende Ergebnis lässt sich auf die Zerlegung der Dokumente zurückführen. Wird ein Handbuch stur nach Zeichenzahl geschnitten, reißt der Schnitt Tabellen auseinander und trennt eine Überschrift von der Regel, die darunter steht. Der gefundene Abschnitt sieht dann passend aus und enthält trotzdem nicht die Aussage, nach der jemand gesucht hat. Schnitte entlang der Dokumentstruktur, also an Überschriften und Absätzen, helfen mehr als jede Indexeinstellung.

Der zweite Klassiker sind Rechte. Die Datenbank kennt zunächst nur Vektoren und nicht die Frage, wer ein Dokument sehen darf. Ohne Metadaten je Abschnitt beantwortet der Assistent Fragen aus Personalunterlagen genauso bereitwillig wie aus dem öffentlichen Wiki. Und wer erst die zwanzig ähnlichsten Treffer holt und danach nach Berechtigung filtert, bekommt am Ende drei Ergebnisse oder gar keins, weil das passendste erlaubte Dokument vielleicht auf Platz fünfzig stand. Der Filter gehört in die Suche hinein, und ob deine Datenbank das kann, prüfst du vor der Auswahl.

Und der Index veraltet still. Wenn niemand geregelt hat, was beim Löschen oder Ändern eines Dokuments passiert, bleiben alte Abschnitte liegen und werden weiter ausgeliefert. Ein Feld mit Quelle und Stand je Eintrag kostet wenig und macht genau solche Fälle sichtbar.

Vektordatenbank lernen

Wie ein solches System vom Embedding bis zur Abfrage zusammengesetzt wird, bauen die Schulungen zu Architektur und Aufbau von KI-Systemen Schritt für Schritt auf.

Was oben auf der Suche aufsetzt, von der Antwortgenerierung bis zur Bewertung, gehört in die Kurse zum Aufbau von Anwendungen rund um Sprachmodelle.

Häufige Fragen

Was passiert, wenn ich das Embedding-Modell wechsle?
Dann musst du alle gespeicherten Vektoren neu berechnen. Alte und neue Vektoren liegen in unterschiedlichen Räumen, oft sogar mit unterschiedlicher Zahl an Dimensionen, und ein gemischter Index liefert Treffer, die nichts mit der Anfrage zu tun haben. Plane den Wechsel deshalb wie eine Datenmigration mit eigenem neuen Index.
Wie viel Speicher braucht eine Vektordatenbank?
Grob gerechnet Anzahl der Vektoren mal Dimensionen mal vier Byte, weil jede Zahl meist als 32-Bit-Gleitkommawert gespeichert wird. Eine Million Abschnitte mit 1.024 Dimensionen ergeben so rund 4 GB, dazu kommen Index und Metadaten. Quantisierung, also das Speichern mit weniger Bits je Zahl, verkleinert das deutlich auf Kosten etwas geringerer Genauigkeit.
Ist eine Vektordatenbank dasselbe wie eine KI?
Nein. Sie rechnet nur Abstände aus und versteht selbst nichts. Die Bedeutung steckt im Embedding-Modell, das die Vektoren erzeugt, und eine Antwort in ganzen Sätzen formuliert erst ein Sprachmodell, dem die gefundenen Abschnitte übergeben werden.
Wie viele Treffer sollte die Suche zurückgeben?
So viele, wie das Sprachmodell danach sinnvoll verarbeiten kann, oft eine Handvoll bis etwa zwanzig Abschnitte. Bewährt hat sich, zunächst mehr Kandidaten zu holen und sie mit einem Re-Ranking-Modell neu zu sortieren, bevor nur die besten an das Sprachmodell gehen.

Passt thematisch dazu

Wenn deine Daten ohnehin in PostgreSQL liegen, lohnt vor jeder Neuanschaffung ein Blick auf die Vektorsuche direkt in PostgreSQL mit pgvector.

Ob ein Assistent sein Wissen aus einer Vektorsuche holen oder ein angepasstes Modell bekommen sollte, zeigt die Abwägung zwischen nachgeschlagenem Wissen und Nachtraining.

Persönlich für dich da

Deine Ansprechpartner

Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.

Yves Hoppe

Yves Hoppe

Weiterbildung & Beratung

Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.

Norbert Jansen

Norbert Jansen

Beratung & Inhouse

Plant Inhouse-Trainings, die an euren eigenen Daten und Abläufen ansetzen.

Vektordatenbank im Kurs statt im Lexikon

Nachschlagen bringt dich bis zum Verstehen. Anwenden lernst du an echten Aufgaben.