Almacenar incrustaciones de vectores

Selecciona una versión de la documentación:

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, sigue estos pasos:

  1. Crea una columna vector[] en tu tabla para almacenar las inserciones:

    ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);
    

    Haz los cambios siguientes:

    • TABLE: el nombre de la tabla

    • EMBEDDING_COLUMN: el nombre de la nueva columna de inserciones

    • DIMENSIONS: número de dimensiones que admite el modelo.

      Por ejemplo, si usas uno de los textembedding-geckomodelos en ingléstextembedding-gecko@003 (por ejemplo, textembedding-gecko@003) con Vertex AI, especifica 768.

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

Siguientes pasos