
Vektordatenbank
Eine Vektordatenbank ist ein Speichersystem, das Texte, Bilder oder Töne als lange Zahlenreihen ablegt und darin nach Ähnlichkeit sucht statt nach exakten Wörtern. Sie ist die Grundlage dafür, dass KI-Assistenten in großen Dokumentsammlungen passende Stellen finden.
Eine gewöhnliche Datenbank sucht nach exakten Treffern. Man fragt nach dem Namen „Müller“, und man bekommt alle Einträge, in denen genau dieses Wort steht. Eine Vektordatenbank arbeitet anders: Sie sucht nach inhaltlicher Ähnlichkeit. Dazu wird jeder gespeicherte Inhalt vorher in eine lange Zahlenreihe übersetzt, oft mehrere hundert Zahlen lang. Diese Zahlenreihe nennt man einen Vektor, und sie beschreibt die Bedeutung des Inhalts. Ähnliche Inhalte bekommen ähnliche Zahlenreihen, auch wenn sie kein einziges Wort gemeinsam haben.
Warum Suche nach Bedeutung mehr trifft als Suche nach Wörtern
Klassische Suche scheitert an der Sprache. Wer „Auto kaputt“ eingibt, findet keinen Text über „Fahrzeugschaden“. Der Mensch sieht sofort, dass beides dasselbe meint. Eine Suche über exakte Zeichenketten sieht das nicht. Eine Vektordatenbank dagegen legt beide Formulierungen dicht nebeneinander ab und liefert sie gemeinsam zurück.
Besonders wichtig wurde das durch Sprachmodelle wie ChatGPT. Diese Modelle wissen nur, was in ihrem Training vorkam. Über interne Firmenunterlagen, aktuelle Preise oder das eigene Schulbuch wissen sie nichts. Man kann ihnen die passenden Textstellen aber vor der Frage mitliefern. Das Verfahren heißt Retrieval Augmented Generation, kurz RAG. Die Vektordatenbank ist dabei das Bauteil, das die passenden Stellen heraussucht.
Der Effekt ist handfest: Das Modell erfindet weniger. Statt zu raten, formuliert es eine Antwort aus Texten, die tatsächlich vorliegen. Man kann sogar die Quelle mit anzeigen. Deshalb steckt in fast jedem Unternehmens-Chatbot heute eine Vektordatenbank.
Von Zahlenreihen zu Nachbarn im Raum
Am Anfang steht ein eigenes KI-Modell, das Embedding-Modell. Es bekommt einen Textabschnitt und gibt dafür einen Vektor aus. Man kann sich das als Koordinaten in einem Raum vorstellen. Auf einer Landkarte reichen zwei Zahlen für einen Ort. Hier sind es 384, 768 oder mehr, weil Bedeutung viele Facetten hat. Texte mit ähnlichem Inhalt landen an benachbarten Punkten.
Eine Suchanfrage wird durch dasselbe Modell geschickt und wird ebenfalls zu einem Punkt. Die Datenbank sucht nun die nächstgelegenen Punkte. Der Abstand zwischen zwei Vektoren ist ein Maß für die inhaltliche Nähe. Zurück kommen typischerweise die fünf oder zehn nächsten Nachbarn.
Alle Abstände einzeln auszurechnen wäre bei Millionen Einträgen zu langsam. Deshalb bauen Vektordatenbanken einen Index auf, meist nach dem Verfahren HNSW. Es legt ein Netz von Verbindungen zwischen ähnlichen Punkten an, durch das die Suche sich vortastet. Das Ergebnis ist nicht garantiert exakt, sondern nur sehr wahrscheinlich richtig. Diesen kleinen Genauigkeitsverlust nimmt man in Kauf, weil die Suche dadurch statt Sekunden nur Millisekunden dauert.
Welche Produkte darauf aufbauen
Im Alltag merkt man von der Technik nichts, benutzt sie aber ständig. Die Fotosuche auf dem Smartphone findet „Hund am Strand“, ohne dass jemand die Bilder beschriftet hat. Musikdienste schlagen ähnlich klingende Titel vor. Onlineshops zeigen vergleichbare Produkte an. Dahinter steckt jeweils dieselbe Idee: Ähnlichkeit zwischen Zahlenreihen.
In der Wirtschaftspresse tauchen die Namen der Anbieter auf. Pinecone, Weaviate, Qdrant, Chroma und Milvus sind spezialisierte Systeme. Gleichzeitig haben etablierte Datenbanken wie PostgreSQL mit der Erweiterung pgvector die Funktion nachgerüstet. Genau darum wird gestritten: Braucht man ein eigenes Produkt, oder ist Vektorsuche nur eine Zusatzfunktion bestehender Datenbanken?
Ein verbreiteter Irrtum sollte noch aus dem Weg: Eine Vektordatenbank ist kein KI-Modell und versteht nichts. Sie speichert und vergleicht nur Zahlen. Das Verständnis steckt im Embedding-Modell, das die Zahlen erzeugt hat. Ist dieses Modell schlecht, hilft auch die schnellste Datenbank nicht weiter.