pgvector

pgvector

pgvector ist eine Zusatzfunktion für die weit verbreitete Datenbank PostgreSQL. Sie erlaubt es, Texte, Bilder oder Töne als lange Zahlenlisten zu speichern und darin nach inhaltlich ähnlichen Einträgen zu suchen.

Eine Datenbank ist ein Programm, das große Mengen an Daten geordnet speichert und wieder herausgibt. PostgreSQL, kurz Postgres, ist eine der bekanntesten dieser Programme und kostenlos verfügbar. Normalerweise sucht man darin nach exakten Angaben: ein Name, eine Kundennummer, ein Datum. pgvector ist eine Erweiterung, die Postgres eine zusätzliche Fähigkeit beibringt. Sie kann lange Zahlenlisten speichern, die den Inhalt eines Textes oder Bildes beschreiben. Damit lässt sich nach Bedeutung suchen statt nach exakter Übereinstimmung.

Ähnlichkeitssuche ohne eigene Spezialdatenbank

Moderne KI-Anwendungen brauchen fast immer eine Suche nach Bedeutung. Ein Chatbot, der Fragen zu Firmendokumenten beantwortet, muss zuerst die passenden Absätze finden. Dafür entstanden eigene Programme, sogenannte Vektordatenbanken, etwa Pinecone, Weaviate oder Milvus. Sie sind spezialisiert, bedeuten aber ein zusätzliches System, das jemand betreiben, absichern und bezahlen muss.

Genau hier liegt der Reiz von pgvector. Sehr viele Firmen betreiben ohnehin schon eine Postgres-Datenbank. Statt ein zweites System aufzubauen, schalten sie eine Erweiterung frei und sind fertig. Kundendaten und Zahlenlisten liegen dann in derselben Datenbank. Man kann beides in einer einzigen Abfrage kombinieren, etwa: finde ähnliche Produkte, aber nur solche unter 50 Euro und auf Lager.

Für Anbieter von Vektordatenbanken war das ein harter Schlag. Viele Projekte, die früher automatisch ein Spezialprodukt gekauft hätten, kommen mit Postgres aus. Große Cloud-Anbieter wie Amazon, Google und Microsoft haben pgvector deshalb in ihre eigenen Postgres-Angebote eingebaut.

Von Zahlenlisten zu Nachbarn im Raum

Am Anfang steht ein Einbettungsmodell. Das ist ein KI-Modell, das einen Text in eine Liste von Zahlen übersetzt, oft 768 oder 1536 Stück. Diese Liste nennt man Vektor. Texte mit ähnlicher Bedeutung bekommen ähnliche Zahlenlisten, auch wenn sie kein einziges Wort teilen. Man kann sich das als Punkte in einem Raum vorstellen: Inhaltlich verwandte Texte liegen nahe beieinander.

pgvector fügt Postgres einen neuen Datentyp namens vector hinzu. Man legt eine Spalte dieses Typs an und speichert dort die Zahlenlisten. Zusätzlich liefert die Erweiterung Rechenoperatoren für den Abstand zwischen zwei Vektoren. Eine Suche funktioniert dann so: Die Frage des Nutzers wird ebenfalls in einen Vektor umgewandelt. Danach gibt die Datenbank die zehn Einträge mit dem kleinsten Abstand zurück.

Bei Millionen Einträgen wäre es zu langsam, jeden einzelnen Abstand auszurechnen. Deshalb bietet pgvector Indexe mit den Namen HNSW und IVFFlat an. Ein Index ist eine vorbereitete Struktur, die die Suche stark abkürzt. Der Preis dafür ist eine Näherung: Das Ergebnis stimmt meistens, aber nicht garantiert immer. In der Praxis reicht das völlig, weil ein Suchtreffer ohnehin keine exakte Wahrheit ist.

pgvector in Produkten und Meldungen

Am häufigsten taucht pgvector im Zusammenhang mit RAG auf. Diese Abkürzung steht für ein Verfahren, bei dem ein Sprachmodell vor dem Antworten passende Dokumente nachschlägt. pgvector übernimmt darin den Nachschlage-Teil. Firmen bauen so interne Assistenten, die Handbücher, Verträge oder Support-Tickets durchsuchen.

Auch außerhalb von Chatbots ist die Technik nützlich. Onlineshops empfehlen ähnliche Artikel, Foto-Apps finden Bilder mit ähnlichen Motiven, Musikdienste schlagen verwandte Songs vor. In Entwicklerwerkzeugen wie Supabase oder Neon ist pgvector oft mit einem Klick aktivierbar.

Ein verbreiteter Irrtum ist, pgvector sei selbst eine KI. Das stimmt nicht. Die Zahlenlisten erzeugt immer ein externes Modell, etwa von OpenAI oder ein frei verfügbares. pgvector speichert und vergleicht sie nur. Und es hat Grenzen: Bei mehreren hundert Millionen Vektoren stoßen viele Teams doch wieder an Grenzen und wechseln zu Spezialsystemen.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.