En esta página se explica cómo usar AlloyDB como base de datos de vectores con la extensión vector, que incluye funciones y operadores pgvector. Estas funciones y operadores te permiten almacenar las inserciones como valores vectoriales.
Extensión de base de datos obligatoria
Usa la extensión vector, versión 0.5.0.google-1 o posterior, que incluye funciones y operadores de pgvector, para almacenar las incrustaciones generadas como valores de vector. Esta es una versión de pgvector que Google ha ampliado con optimizaciones específicas para AlloyDB.
CREATE EXTENSION IF NOT EXISTS vector;
Incrustaciones generadas por la tienda
Asegúrate de que ya has creado una tabla en tu base de datos de AlloyDB.
.Para almacenar incrustaciones de vectores, siga estos pasos:
Crea una columna
vector[]en tu tabla para almacenar los embeddings:ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);Haz los cambios siguientes:
TABLE: el nombre de la tablaEMBEDDING_COLUMN: el nombre de la nueva columna de insercionesDIMENSIONS: número de dimensiones que admite el modelo.Por ejemplo, si usas uno de los modelos en inglés de
text-embedding, comotext-embedding-005con Vertex AI, especifica768.
Copia los vectores en la columna de vectores. En el siguiente ejemplo se da por hecho que tus inserciones están disponibles en un archivo CSV:
COPY TABLE (EMBEDDING_COLUMN) FROM 'PATH_TO_VECTOR_CSV (FORMAT CSV);Haz los cambios siguientes:
PATH_TO_VECTOR_CSV: la ruta completa de la ubicación en la que has almacenado el archivo.CSV.
Una vez que hayas almacenado las inserciones, puedes usar la extensión vector o la extensión alloydb_scann
para crear índices y mejorar el rendimiento de las consultas.