Almacena embeddings de vectores

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:

  1. 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 tabla

    • EMBEDDING_COLUMN: el nombre de la columna de embedding nueva

    • DIMENSIONS: 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-005 con Vertex AI, especifica 768.

  2. 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.

¿Qué sigue?