Armazenar, indexar e consultar vetores
A extensão pgvector do PostgreSQL é personalizada para o AlloyDB e é chamada de vector.
Ela 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. Também é possível criar um índice IVFFlat ou HSNW que estão disponíveis com o pgvector.
Para mais informações sobre como armazenar vetores, consulte Armazenar vetores.
Além da extensão personalizada vector, o AlloyDB
inclui a extensão alloydb_scann que implementa um índice de vizinhos mais próximos 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 o desempenho da consulta vetorial
É possível ajustar os índices para um equilíbrio entre consultas por segundo (QPS) e recall com suas consultas. Para mais informações sobre como ajustar os índices, consulte Ajustar o desempenho da consulta vetorial.
Gerar embeddings e previsões de texto
A IA do AlloyDB 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.
Gere embeddings para que um LLM traduza comandos de texto em vetores numéricos.
É possível usar a
embedding()função para consultar modelos da Vertex AI, enquanto agoogle_ml.embedding()função pode ser usada para consultar modelos registrados da Vertex AI, hospedados e de terceiros.Em seguida, é possível aplicar esses embeddings de vetor 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 Grupo de modelos da Vertex AI a que eles têm acesso.
Seus aplicativos podem gerar embeddings usando os
text-embeddingmodelos em inglês LLM.