Armazenar, indexar e consultar vetores
A extensão pgvector
do PostgreSQL padrão é personalizada para o AlloyDB e é chamada de vector
.
Ele oferece suporte ao armazenamento de embeddings gerados em uma coluna de vetor. A extensão também adiciona suporte ao recurso de quantização escalar para criar índices IVF
. Você também pode criar um índice IVFFlat
ou HSNW
disponível com o pgvector
de ações.
Para mais informações sobre como armazenar vetores, consulte Armazenar embeddings de vetor.
Além da extensão vector
personalizada, o AlloyDB
inclui a extensão alloydb_scann
, que implementa um índice de
vizinho mais próximo altamente eficiente com tecnologia do algoritmo
ScaNN.
Para mais informações sobre como criar índices e consultar vetores, consulte Criar índices e consultar vetores.
Ajustar a performance da consulta de vetores
É possível ajustar os índices para equilibrar consultas por segundo (QPS) e recall com suas consultas. Para mais informações sobre como ajustar seus índices, consulte Ajustar o desempenho da consulta de vetor.
Gerar embeddings e previsões de texto
O AlloyDB AI estende a sintaxe do PostgreSQL com duas funções para consultar modelos usando a extensão google_ml_integration
:
Invoque previsões para chamar um modelo usando SQL em uma transação.
Gerar embeddings para que um LLM traduza comandos de texto em vetores numéricos.
Use a função
embedding()
para consultar modelos da Vertex AI, enquanto a funçãogoogle_ml.embedding()
pode ser usada para consultar modelos registrados da Vertex AI, hospedados e de terceiros.Em seguida, é possível aplicar esses embeddings de vetores como entrada para funções
pgvector
. Isso inclui métodos para comparar e classificar amostras de texto de acordo com a distância semântica relativa.
Usar modelos na nuvem com a Vertex AI
É possível configurar o AlloyDB Omni para trabalhar com a Vertex AI.
Isso oferece os seguintes benefícios aos seus aplicativos:
Seus aplicativos podem invocar previsões usando qualquer modelo armazenado no Model Garden da Vertex AI a que eles têm acesso.
Seus aplicativos podem gerar embeddings usando o LLM dos modelos em inglês
text-embedding-005
.