La extensión vector en AlloyDB para PostgreSQL proporciona funciones y
operadores pgvector que te permiten usar tu base de datos como un almacén de vectores. Puedes agregar columnas vector a tus tablas y almacenar embeddings generados como valores de vectores para la búsqueda semántica y las cargas de trabajo de IA generativa.
Extensión de base de datos obligatoria
Usa la extensión vector, versión 0.5.0.google-1 o posterior, que incluye
pgvector funciones y operadores, para almacenar embeddings generados como valores vector. Esta es una versión de pgvector que Google extendió con optimizaciones específicas para AlloyDB.
CREATE EXTENSION IF NOT EXISTS vector;
Almacena embeddings generados
Asegúrate de haber creado una tabla en tu base de datos de AlloyDB.
Para almacenar embeddings de vectores, haz lo siguiente:
Crea una columna
vector[]en tu tabla para almacenar tus embeddings:ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);Reemplaza lo siguiente:
TABLE: el nombre de la tablaEMBEDDING_COLUMN: el nombre de la columna de embedding nuevaDIMENSIONS: la cantidad de dimensiones que admite el modelo.Por ejemplo, si usas uno de los modelos en inglés
text-embedding, por ejemplo,text-embedding-005con Vertex AI, especifica768.
Copia los vectores en la columna de vectores. En el siguiente ejemplo, se supone que tus embeddings están disponibles en un archivo CSV:
COPY TABLE (EMBEDDING_COLUMN) FROM 'PATH_TO_VECTOR_CSV (FORMAT CSV);Reemplaza lo siguiente:
TABLE: Es el nombre de la tabla.EMBEDDING_COLUMN: el nombre de la columna de embedding.PATH_TO_VECTOR_CSV: Es la ruta de acceso completa a la ubicación en la que almacenaste tu archivo.CSV.
Después de almacenar los embeddings, puedes usar la extensión vector o la extensión alloydb_scann para crear índices para un rendimiento de consultas más rápido.