Auf dieser Seite erfahren Sie, wie Sie AlloyDB als Vektordatenbank mit der vector
-Erweiterung verwenden, die pgvector
-Funktionen und pgvector
-Operatoren enthält. Mit diesen Funktionen und Operatoren können Sie Einbettungen als Vektorwerte speichern.
Erforderliche Datenbankerweiterung
Verwenden Sie die vector
-Erweiterung, Version 0.5.0.google-1
oder höher, die pgvector
-Funktionen und pgvector
-Operatoren enthält, um generierte Einbettungen als vector
-Werte zu speichern. Das ist eine Version von pgvector
, die Google um AlloyDB-spezifische Optimierungen erweitert hat.
CREATE EXTENSION IF NOT EXISTS vector;
Von Nutzern erstellte Einbettungen speichern
Sie müssen bereits eine Tabelle in Ihrer AlloyDB-Datenbank erstellt haben.
So speichern Sie Vektor-Ebenen:
Erstellen Sie in Ihrer Tabelle eine Spalte vom Typ
vector[]
, um die Einbettungen zu speichern:ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);
Ersetzen Sie Folgendes:
TABLE
: den TabellennamenEMBEDDING_COLUMN
: der Name der neuen EinbettungsspalteDIMENSIONS
: die Anzahl der Dimensionen, die das Modell unterstützt.Wenn Sie beispielsweise eines der
text-embedding
-Modelle für Englisch verwenden, z. B.text-embedding-005
mit Vertex AI, geben Sie768
an.
Kopieren Sie die Vektoren in die Vektorspalte. Im folgenden Beispiel wird davon ausgegangen, dass Ihre Einbettungen in einer CSV-Datei verfügbar sind:
COPY TABLE (EMBEDDING_COLUMN) FROM 'PATH_TO_VECTOR_CSV (FORMAT CSV);
Ersetzen Sie Folgendes:
PATH_TO_VECTOR_CSV
: der vollständige Pfad zum Speicherort der Datei.csv
.
Nachdem Sie die Einbettungen gespeichert haben, können Sie mit der Erweiterung vector
oder alloydb_scann
Indexe erstellen, um die Abfrageleistung zu verbessern.