pgvector ist eine Erweiterung für PostgreSQL (auch Postgres genannt), die die Arbeit mit Vektoren vereinfacht. Sie können sie direkt in Ihrer relationalen Datenbank speichern, durchsuchen und indexieren.
Mit pgvector können Sie Ihren Anwendungen und KI-Agents auf einfache und skalierbare Weise erweiterte Funktionen wie die Ähnlichkeitssuche hinzufügen, ohne Daten verschieben oder Anwendungsarchitekturen ändern zu müssen, um den neuen Vektordatentyp zu verbinden.
pgvector ist eine Open-Source-Erweiterung für PostgreSQL, mit der Sie hochdimensionale Vektoren direkt in Ihrer vorhandenen PostgreSQL-Datenbank speichern, indexieren und durchsuchen können. pgvector unterstützt:
Ein Vektor stellt Daten numerisch dar, wobei die wichtigsten Merkmale erfasst und in einen virtuellen mathematischen Raum abgebildet werden. In diesem Raum werden ähnliche Elemente wie Wörter, Bilder oder Objekte nahe beieinander positioniert.
Nehmen wir zum Beispiel die Wörter „Mantel“ und „Jacke“. Bei der herkömmlichen Keyword-Suche würden diese beiden Wörter nicht als ähnlich eingestuft, da sie sich in den Buchstaben stark unterscheiden. Ein E-Commerce-System, das diese Keywords zusammenführen möchte, müsste dies manuell tun. Die Vektordarstellungen dieser beiden Begriffe wären jedoch sehr ähnlich, da sie eine ähnliche Bedeutung haben. So können Nutzer genauere Suchergebnisse erhalten und Entwickler Zeit sparen.
Wenn Sie zwei verschiedene Fotos von Katzen machen, können sie sich Pixel für Pixel stark unterscheiden. Ihre Vektoreinbettungen würden sie jedoch im mathematischen Raum sehr nahe beieinander platzieren, so wie ein Mensch beide leicht als Bilder von Katzen identifizieren würde:

Dazu wandelt ein Einbettungsmodell Rohdaten wie Bilder oder Text in Vektoreinbettungen um. pgvector speichert diese Einbettungen in Ihrer Datenbank. Wenn ein Nutzer eine Abfrage eingibt, wird diese ebenfalls in einen Vektor umgewandelt. pgvector berechnet dann den Abstand zwischen dem Abfragevektor und den gespeicherten Vektoren, um effizient die „nächsten Nachbarn“ mit den höchsten Ähnlichkeitswerten zu identifizieren.
Sie möchten mehr über die verschiedenen Arten von Suchanfragen für den nächsten Nachbarn erfahren? Leitfaden zur Entwicklung von Anwendungen mit generativer KI.
PostgreSQL ist ein robustes, relationales Open-Source-Datenbankmanagementsystem, das für die Verarbeitung strukturierter Daten mit Tabellen, Zeilen und Spalten entwickelt wurde.
pgvector ist eine Erweiterung, die in PostgreSQL ausgeführt wird. Es fügt der Datenbank mit „vector“ einen neuen Datentyp hinzu, der das Speichern und Verarbeiten von Vektoreinbettungen neben Ihren Standardbetriebsdaten ermöglicht.
Nein, pgvector ist eine Erweiterung, die direkt in Ihre vorhandene PostgreSQL-Datenbank eingebunden wird. So können Sie erweiterte KI- und Suchfunktionen hinzufügen, ohne eine neue oder separate Infrastruktur verwalten zu müssen.
Um die KI-basierten Funktionen von heute zu unterstützen, müssen Sie Vektoreinbettungen speichern und verwalten können.
PostgreSQL ist zwar eine leistungsstarke Datenbank, aber da die Daten starr in Tabellen, Zeilen und Spalten strukturiert sind, beschränkt sich die Abfragefähigkeit weitgehend auf Schlüsselwort- und Mustervergleich.
In der Welt der KI werden komplexe Daten wie Text, Bilder und Audio als Vektordarstellungen codiert. Diese Codierungen ermöglichen es KI-Modellen, den Kontext und die semantischen Beziehungen in Ihren Daten zu erfassen. Sie bilden das Rückgrat von Funktionen wie intelligenter Suche, Empfehlungen und generativer KI.
Die pgvector-Erweiterung ermöglicht die semantische Suche in PostgreSQL. Dabei werden Vektoreinbettungen verwendet, um Ergebnisse zu finden, die auf der Bedeutung einer Abfrage basieren – und nicht nur auf übereinstimmenden Schlüsselwörtern, wie es bei SQL der Fall wäre. Dieser Prozess, die sogenannte Ähnlichkeitssuche, ermöglicht es Ihnen, erweiterte Suchfunktionen direkt in Ihre Anwendungen einzubinden, ohne dass Sie die Architektur ändern oder Daten in eine separate Vektordatenbank verschieben müssen.
Möchten Sie mehr über Vektoreinbettungen erfahren? Leitfaden zur Entwicklung von Anwendungen mit generativer KI
Da pgvector hochdimensionale Vektoren verarbeiten kann, unterstützt es eine Reihe von erweiterten Anwendungen.
Die Keyword-Übereinstimmung in herkömmlichen relationalen Datenbanken kann oft keine aussagekräftigen Verbindungen in Daten identifizieren. Bei der Ähnlichkeitssuche wird die Nähe von Vektoren anhand von Messwerten wie euklidischer Distanz und Kosinus-Distanz verglichen, um tiefere Muster zu finden. Dies ist entscheidend für Anwendungen wie Bilderkennung und semantische Suche, bei denen die Ergebnisse nach Bedeutung sortiert werden. Im E-Commerce ermöglicht die Ähnlichkeitssuche beispielsweise Produktempfehlungen, indem sie das Nutzerverhalten analysiert und verwandte Artikel findet.
Vektorbasierte Sprachverarbeitung ermöglicht es KI-Agenten, den Kontext zu verstehen, was zu personalisierten Gesprächen und genaueren Antworten führt. Die Unterstützung mehrerer Sprachen verbessert die Leistung als virtuelle Assistenten und Kundenserviceplattformen.
pgvector verbessert KI-Workflows, indem es das Speichern und Abfragen von Vektoreinbettungen ermöglicht, die für das Erkennen ungewöhnlicher Muster in Daten unerlässlich sind. Durch die Analyse der Vektornähe können Anomalien in Echtzeit erkannt werden, um Betrug zu verhindern, die Netzwerksicherheit zu erhöhen oder die Qualitätskontrolle zu verbessern.
Die Sentimentanalyse analysiert die Absicht einer Nachricht. So können Sie negative Kommentare entsprechend weiterleiten, um schneller zu reagieren und maßgeschneiderte Lösungen zu finden.
Durch die Nutzung der Skalierbarkeit, Transaktionsunterstützung und Zuverlässigkeit von PostgreSQL kann pgvector hochdimensionale Datasets effizient verwalten. Außerdem ist die Verwendung der vertrauten SQL-Syntax für bestehende Teams zugänglich, sodass keine zusätzlichen Tools oder eine Infrastruktur für die Vektorindizierung und -suche erforderlich sind.
Einfache Einbindung in vorhandene PostgreSQL-basierte Anwendungen
Verbessert die Skalierbarkeit von PostgreSQL für wachsende Datasets.
Bietet anpassbare Funktionen wie Distanzmessung und Indizierung.
Übernimmt die bewährte Sicherheit und Zuverlässigkeit von PostgreSQL.
Sie können nahtlos strukturierte und unstrukturierte Daten abfragen.
Bietet eine entwicklerfreundliche Lösung für die Arbeit mit umfangreichen, hochdimensionalen Daten.
Wenn Sie eine einzelne Datenbank suchen, die sowohl traditionelle SQL-Abfragen als auch moderne Vertex-Suchen unterstützt, sollten Sie AlloyDB for PostgreSQL in Betracht ziehen. AlloyDB verwendet den von Google entwickelten Algorithmus ScaNN (Scalable Nearest Neighbor) für die Vektorähnlichkeitssuche und bietet damit eine deutlich höhere Leistung als andere cloudbasierte PostgreSQL-Dienste für transaktionale und analytische Arbeitslasten in großen Datenbanken.
Hier erfahren Sie, wie AlloyDB gleichzeitig strukturierte und unstrukturierte Daten durchsuchen kann.
Cloud SQL und AlloyDB for PostgreSQL unterstützen pgvector, sodass Sie Vektoreinbettungen mit Standard-SQL-Befehlen speichern und abfragen können.
Verwenden Sie Ihren bevorzugten PostgreSQL-Client (z. B. psql, pgAdmin oder die Google Cloud Console), um eine Verbindung zu Ihrer Cloud SQL- oder AlloyDB-Instanz herzustellen.
Führen Sie den folgenden SQL-Befehl aus, um die Erweiterung in Ihrer Datenbank zu aktivieren. Dies ist nur einmal für jede Datenbank erforderlich.
Erstellen Sie eine neue Tabelle (oder ändern Sie eine vorhandene), um eine Spalte für Vektordaten einzufügen. Sie müssen die Dimensionen des Vektors angeben. So erstellen Sie beispielsweise eine Tabelle zum Speichern dreidimensionaler Einbettungen:
Sie können Vektoreinbettungen genauso wie Standarddaten einfügen. Vektoren werden als Arrays in Klammern formatiert.
Sie können jetzt Ihre Daten abfragen, um die nächstgelegenen Nachbarn zu finden. Der Operator <-> berechnet die euklidische Distanz (L2-Distanz), die häufig verwendet wird, um die ähnlichsten Elemente zu finden.
Bei größeren Datasets kann das Hinzufügen eines Index die Suchleistung erheblich beschleunigen. HNSW- und ScaNN-Indizes sind gängige Optionen. Hier ein HNSW-Beispiel:
Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“ Produkte kennenzulernen.