Cette page explique comment utiliser AlloyDB en tant que base de données vectorielle avec l'extension vector
, qui inclut des fonctions et des opérateurs pgvector
. Ces fonctions et opérateurs vous permettent de stocker des représentations vectorielles continues sous forme de valeurs vectorielles.
Extension de base de données requise
Utilisez l'extension vector
, version 0.5.0.google-1
ou ultérieure, qui inclut les fonctions et les opérateurs pgvector
, pour stocker les embeddings générés sous la forme de valeurs vector
. Il s'agit d'une version de pgvector
que Google a étendue avec des optimisations spécifiques à AlloyDB.
CREATE EXTENSION IF NOT EXISTS vector;
Stocker les embeddings générés
Assurez-vous d'avoir déjà créé une table dans votre base de données AlloyDB.
Pour stocker des embeddings vectoriels, procédez comme suit:
Créez une colonne
vector[]
dans votre table pour stocker vos embeddings:ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);
Remplacez les éléments suivants :
TABLE
: nom de la tableEMBEDDING_COLUMN
: nom de la nouvelle colonne d'embeddingsDIMENSIONS
: nombre de dimensions acceptées par le modèlePar exemple, si vous utilisez l'un des modèles
text-embedding
en anglais (text-embedding-005
, par exemple) avec Vertex AI, spécifiez768
.
Copiez les vecteurs dans la colonne des vecteurs. L'exemple suivant suppose que vos représentations vectorielles continues sont disponibles dans un fichier CSV:
COPY TABLE (EMBEDDING_COLUMN) FROM 'PATH_TO_VECTOR_CSV (FORMAT CSV);
Remplacez les éléments suivants :
PATH_TO_VECTOR_CSV
: chemin d'accès complet du fichier.csv
que vous avez stocké.
Une fois les embeddings stockés, vous pouvez utiliser l'extension vector
ou l'extension alloydb_scann
pour créer des index afin d'accélérer les performances des requêtes.