- Simplificando a declaração de intenção: os requisitos (como tabela, coluna de texto ou recall de destino) são declarados usando funções SQL.
- Automatizando as práticas recomendadas: gera comandos SQL otimizados, também conhecidos como recomendações, para configurar a carga de trabalho vetorial usando a especificação de vetor definida e um algoritmo de ajuste automático otimizado que calcula a configuração ideal do índice.
- Oferecendo transparência e controle: fornece explicações claras para cada recomendação ao automatizar tarefas que permitem revisar, modificar e aplicar recomendações no seu ritmo.
- Permitindo a prototipagem rápida: permite implantar rapidamente uma configuração de pesquisa vetorial bem ajustada, reduzindo o tempo do conceito à produção.
- Focando na facilidade de uso: simplifica a complexidade da pesquisa semântica, diminuindo a distância entre os requisitos de negócios e de engenharia.
Com a assistência vetorial, é possível criar aplicativos completos com recursos de pesquisa semântica e uma configuração simplificada.
Como a assistência vetorial funciona
A assistência vetorial exige que você defina as especificações do vetor. O framework usa essas especificações, também conhecidas como especificação de vetor, para gerar as etapas necessárias para criar um índice vetorial. A assistência vetorial gera as etapas necessárias para implantar a carga de trabalho vetorial como recomendações. Sempre que você modifica a especificação de vetor, a assistência vetorial regenera as recomendações.
Depois de gerar o índice vetorial usando essas etapas recomendadas, você pode usar a assistência vetorial para gerar consultas de pesquisa otimizadas.
Especificação da assistência vetorial
A primeira etapa para usar a assistência vetorial é configurar a especificação do índice vetorial ou especificação de vetor. Uma especificação de vetor é um objeto em que você define a intenção e os requisitos da carga de trabalho vetorial. Ela inclui todas as informações necessárias, incluindo o seguinte:
- Tabelas e colunas relevantes (texto ou vetor)
- Preferências do modelo de embedding (se estiver usando a geração de embedding)
- Tipo de índice preferido:
HNSWouIVFFlat.ScaNNnão é compatível. - Recall de destino para consultas de pesquisa
- Limitações de memória
Você define a especificação de vetor usando a
vector_assist.define_spec
função e pode modificá-la a qualquer momento. O sistema atribui um ID exclusivo a cada especificação e a armazena em uma tabela chamada vector_assist.VECTOR_SPECS.
A assistência vetorial infere as entradas de especificação e um algoritmo de ajuste automático otimizado que calcula a configuração ideal do índice. Embora a assistência vetorial use esses valores para simplificar o processo de desenvolvimento, ainda é possível personalizá-los de acordo com suas preferências.
Recomendações da assistência vetorial
Depois de definir a especificação de vetor, a assistência vetorial processa a entrada e gera recomendações. Essas recomendações são uma lista ordenada de etapas úteis, normalmente comandos SQL, que você precisa executar para implantar a carga de trabalho vetorial de acordo com as especificações. Cada recomendação inclui o seguinte:
- A consulta SQL a ser executada.
- Uma explicação detalhada do que a consulta faz e por que ela é recomendada.
- Informações sobre possíveis compensações ou custos, como o tamanho estimado do índice ou o tempo de build.
A assistência vetorial armazena recomendações em uma tabela chamada vector_assist.RECOMMENDATIONS, e você pode revisar, modificar e aplicar as recomendações individualmente ou como um todo.
Sempre que você modifica a especificação de vetor para a carga de trabalho, a assistência vetorial regenera as recomendações para obedecer às especificações atualizadas.
Limitações
Ao usar a assistência vetorial com as instâncias do AlloyDB Omni, considere as seguintes limitações:
- A assistência vetorial só oferece suporte às versões 17 e mais recentes do PostgreSQL.
- Embora a assistência vetorial ofereça suporte a todas as versões do
pgvector, recomendamos usar a versão mais recente para desempenho ideal e suporte a recursos. Para mais informações, consulte opgvectorregistro de alterações. - Se a instância usar a extensão
google_ml_integrationpara gerar embeddings, as restrições dela também serão aplicadas quando você usar a assistência vetorial. Para mais informações, consulte Visão geral do registro e da chamada de modelos de IA remotos no AlloyDB Omni. - A assistência vetorial só oferece suporte aos tipos de índice
HNSWeIVFFlat. Os tipos de índiceScaNNnão são compatíveis. - A assistência vetorial só oferece suporte a modelos de embedding de texto para gerar embeddings automaticamente e usa o
text_column_namecomo parâmetro de entrada. Se a carga de trabalho vetorial exigir um modelo de embedding multimodal, use a extensãogoogle_ml_integrationou outra extensão para gerar esses embeddings manualmente antes de usar a assistência vetorial para ativar a pesquisa semântica nesses embeddings.