Visão geral da assistência de vetor

A assistência vetorial é uma extensão do AlloyDB para PostgreSQL que oferece uma estrutura SQL declarativa para implantar e gerenciar cargas de trabalho de pesquisa vetorial. Em vez de configurar manualmente a geração de embeddings, os parâmetros de índice e o ajuste de consultas, você declara os requisitos da carga de trabalho, como a tabela de destino, a coluna de texto de origem e a meta de recall, usando funções SQL.

Com base na especificação vetorial, a assistência vetorial usa um algoritmo de ajuste automático para gerar recomendações SQL otimizadas com explicações que podem ser revisadas, modificadas e aplicadas. Esse fluxo de trabalho ajuda a criar protótipos e implantar aplicativos de pesquisa semântica prontos para produção com configuração manual mínima.

Como a assistência vetorial funciona

A assistência vetorial exige que você defina as especificações vetoriais. A estrutura usa essas especificações do vetor, também conhecidas como especificação do 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 do 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 vetorial. Uma especificação do 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 de modelo de embedding (se estiver usando a geração de embeddings)
  • Tipo de índice preferido: HNSW ou IVFFlat. ScaNN não é compatível.
  • Recall de destino para consultas de pesquisa
  • Limitações de memória

Você define a especificação do 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 de assistência vetorial

Depois de definir a especificação do vetor, a assistência vetorial processa sua 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 suas 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 do vetor da 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, 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 otimizar a performance e o suporte a recursos. Para mais informações, consulte o pgvector registro de alterações.
  • Se a instância usar a extensão google_ml_integration para 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.
  • A assistência vetorial só oferece suporte aos tipos de índice HNSW e IVFFlat. Os tipos de índice ScaNN nã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_name como parâmetro de entrada. Se a carga de trabalho vetorial exigir um modelo de embedding multimodal, use a extensão google_ml_integration ou outra extensão para gerar esses embeddings manualmente antes de usar a assistência vetorial para ativar a pesquisa semântica nesses embeddings.

A seguir