Cette page explique comment utiliser AlloyDB comme base de données vectorielle avec l'extension vector, qui inclut les fonctions et opérateurs pgvector. Ces fonctions et opérateurs vous permettent de stocker des embeddings 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 des fonctions et des opérateurs pgvector, pour stocker les embeddings générés sous 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 anglais
text-embedding(par exemple,text-embedding-005avec Vertex AI), spécifiez768.
Copiez les vecteurs dans la colonne de vecteurs. L'exemple suivant suppose que vos embeddings 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 à l'emplacement où vous avez stocké votre fichier.CSV.
Une fois les embeddings stockés, vous pouvez utiliser l'extension vector ou alloydb_scann pour créer des index et accélérer les performances des requêtes.