Esta página mostra como usar o AlloyDB como um banco de dados vetorial com
a extensão vector
, que inclui funções e operadores pgvector
. Essas
funções e operadores permitem armazenar embeddings como valores de vetor.
Extensão de banco de dados necessá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 de 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
vector[]
na tabela para armazenar os embeddings:ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);
Substitua:
TABLE
: o nome da tabelaEMBEDDING_COLUMN
: o nome da nova coluna de embeddingDIMENSIONS
: o número de dimensões que o modelo aceita.Por exemplo, se você estiver usando um dos modelos
textembedding-gecko
em inglês, comotextembedding-gecko@003
com a Vertex AI, especifique768
.
Copie os vetores para a coluna de vetores. O exemplo a seguir pressupõe que as inclusões estão 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 arquivoCSV
.
Depois de armazenar os embeddings, use a extensão vector
ou alloydb_scann
para criar índices e melhorar a performance da consulta.