Visão geral da assistência de vetor

Selecione uma versão da documentação:

A assistência vetorial é uma extensão do AlloyDB Omni que simplifica a implantação e o gerenciamento das cargas de trabalho vetoriais. Ela oferece um framework SQL declarativo que ajuda a configurar recursos de pesquisa vetorial prontos para produção, como geração de embeddings, otimização de consultas e criação de índices. Esse framework reduz a complexidade das cargas de trabalho vetoriais das seguintes maneiras:

  • 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 sua 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 sua 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 do 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 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 da 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 sua 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 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 ter performance e suporte de recursos ideais. 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 Omni.
  • 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