Almacena embeddings de vectores

En esta página, se muestra cómo usar AlloyDB como una base de datos vectorial con la extensión vector que incluye funciones y operadores pgvector. Estas funciones y operadores te permiten almacenar las incorporaciones como valores de vectores.

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 pgvector, para almacenar las incorporaciones generadas como valores vector. Esta es una versión de pgvector que Google amplió con optimizaciones específicas para AlloyDB.

CREATE EXTENSION IF NOT EXISTS vector;

Almacena embeddings generadas

Asegúrate de haber creado una tabla en tu base de datos de AlloyDB.

Para almacenar incorporaciones vectoriales, haz lo siguiente:

  1. Crea una columna vector[] en tu tabla para almacenar tus incorporaciones:

    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 textembedding-gecko en inglés, por ejemplo, textembedding-gecko@003 con Vertex AI, especifica 768.

  2. Copia los vectores en la columna de vectores. En el siguiente ejemplo, se supone que tus incorporaciones están disponibles en un archivo CSV:

    COPY TABLE (EMBEDDING_COLUMN) FROM 'PATH_TO_VECTOR_CSV (FORMAT CSV);
    

    Reemplaza lo siguiente:

    • PATH_TO_VECTOR_CSV: Es la ruta de acceso completa a la ubicación en la que almacenaste el archivo CSV.

Después de almacenar las incorporaciones, puedes usar la extensión vector o la extensión alloydb_scann para crear índices que permitan un rendimiento de las consultas más rápido.

¿Qué sigue?