Armazenar embeddings de vetores

Selecione uma versão da documentação:

Nesta página, mostramos como usar o AlloyDB como um banco de dados de vetores com a extensão vector, que inclui funções e operadores pgvector. Com essas funções e operadores, é possível armazenar embeddings como valores de vetor.

Extensão de banco de dados obrigatória

Use a extensão vector, versão 0.5.0.google-1 ou mais recente, que inclui funções e operadores pgvector, para armazenar embeddings gerados como valores vector. Esta é uma versão do pgvector que o Google estendeu com otimizações específicas do AlloyDB.

CREATE EXTENSION IF NOT EXISTS vector;

Armazenar embeddings gerados

Verifique se você já criou uma tabela no banco de dados do AlloyDB.

Para armazenar incorporações de vetores, siga estas etapas:

  1. Crie uma coluna vector[] na tabela para armazenar os embeddings:

    ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);
    

    Substitua:

    • TABLE: o nome da tabela.

    • EMBEDDING_COLUMN: o nome da nova coluna de embedding.

    • DIMENSIONS: o número de dimensões que o modelo aceita.

      Por exemplo, se você estiver usando um dos modelos em inglês text-embedding, como text-embedding-005 com a Vertex AI, especifique 768.

  2. Copie os vetores para a coluna de vetores. O exemplo a seguir pressupõe que seus embeddings estejam disponíveis em um arquivo CSV:

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

    Substitua:

    • PATH_TO_VECTOR_CSV: o caminho completo de onde você armazenou o arquivo CSV.

Depois de armazenar os embeddings, use a extensão vector ou alloydb_scann para criar índices e melhorar a performance das consultas.

A seguir