A extensão vector no AlloyDB para PostgreSQL fornece funções e operadores pgvector que permitem usar o banco de dados como um armazenamento de vetores. É possível adicionar colunas vector às tabelas e armazenar embeddings gerados como valores vetoriais para cargas de trabalho de pesquisa semântica e IA generativa.
Extensão de banco de dados necessária
Use a extensão vector, versão 0.5.0.google-1 ou posterior, que inclui
funções e operadores pgvector, para armazenar embeddings gerados como valores vector. Essa
é uma versão do pgvector que o Google estendeu com otimizações específicas
para o 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 embeddings de vetor, faça o seguinte:
Crie uma coluna
vectorna 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, comotext-embedding-005com a Agent Platform, especifique768.
Copie os vetores para a coluna de vetores. O exemplo a seguir pressupõe que os embeddings estão disponíveis em um arquivo CSV:
COPY TABLE (EMBEDDING_COLUMN) FROM 'PATH_TO_VECTOR_CSV' (FORMAT CSV);Substitua:
TABLE: o nome da tabela.EMBEDDING_COLUMN: o nome da coluna de embedding.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 acelerar o desempenho das consultas.