Visão geral da assistência de vetor

O Vector Assist é uma extensão do Cloud SQL para PostgreSQL que simplifica a implantação e o gerenciamento das suas cargas de trabalho de vetores do Cloud SQL. Ele oferece um framework SQL declarativo que ajuda a configurar recursos de pesquisa de vetor prontos para produção, como geração de incorporação, otimização de consultas e criação de índices. Essa estrutura reduz a complexidade das cargas de trabalho de vetores ao:

  • Simplificação da declaração de intenção: os requisitos (como tabela, coluna de texto ou recall de destino) são declarados usando funções SQL.
  • Automatização de práticas recomendadas: gera comandos SQL otimizados, também conhecidos como recomendações, para configurar sua carga de trabalho de vetor usando a especificação de vetor definida e um algoritmo de ajuste automático otimizado que calcula a configuração ideal do índice.
  • Transparência e controle: explicações claras para cada recomendação ao automatizar tarefas que permitem revisar, modificar e aplicar recomendações no seu ritmo.
  • Permite a prototipagem rápida: implante rapidamente uma configuração de pesquisa vetorial bem ajustada, reduzindo o tempo do conceito à produção.
  • Foco 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 de vetor, você pode criar aplicativos completos com recursos de pesquisa semântica e configuração simplificada.

Como a assistência de vetores funciona

Para usar a assistência de vetor, é preciso definir as especificações do vetor. O framework usa essas especificações de vetor, também conhecidas como especificação de vetor, para gerar as etapas necessárias para criar um índice vetorial. O Vector Assist gera as etapas necessárias para implantar sua carga de trabalho de vetor como recomendações. Sempre que você modifica a especificação de vetor, a assistência de vetor regenera as recomendações.

Depois de gerar o índice de vetor usando as etapas recomendadas, você pode usar a assistência de vetor para gerar consultas de pesquisa otimizadas.

Especificação da assistência vetorial

A configuração da especificação do índice de vetores, ou especificação de vetor, é a primeira etapa para usar a assistência de vetores. Uma especificação de vetor é um objeto em que você define a intenção e os requisitos da sua carga de trabalho de vetor. Ele inclui todas as informações necessárias, como:

  • As 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, como HNSW ou IVFFlat.
  • Recall de destino para consultas de pesquisa
  • Limitações de memória ou outras restrições de desempenho

Você define a especificação do vetor usando a função vector_assist.define_spec e pode modificá-la a qualquer momento. O sistema atribui a cada especificação um ID exclusivo e o armazena em uma tabela chamada vector_assist.vector_specs.

A assistência do vetor infere as entradas de especificação e um algoritmo de ajuste automático otimizado que calcula a configuração ideal do índice. Embora o Vector Assist use esses valores para simplificar o processo de desenvolvimento, você ainda pode personalizá-los de acordo com suas preferências.

Recomendações do Vector Assist

Depois de definir a especificação do vetor, o recurso de assistência vetorial processa sua entrada e gera recomendações. Essas recomendações são uma lista ordenada de etapas úteis, geralmente comandos SQL, que você precisa executar para implantar sua carga de trabalho de vetor de acordo com suas especificações. Cada recomendação inclui:

  • A consulta SQL a ser executada.
  • Uma explicação detalhada sobre o que a consulta faz e por que ela é recomendada.
  • Informações sobre possíveis compensações ou custos, como tamanho estimado do índice ou tempo de build.

O Vector AI armazena recomendações em uma tabela chamada vector_assist.recommendation. É possível revisar, modificar e aplicar essas recomendações individualmente ou como um todo.

Sempre que você modifica a especificação de vetor da sua carga de trabalho, o Vector Assist regenera as recomendações para obedecer às especificações atualizadas.

Limitações

Ao usar a assistência de vetor com suas instâncias do Cloud SQL para PostgreSQL, considere as seguintes limitações:

  • O Vector Assist só é compatível com as versões 12 e mais recentes do PostgreSQL.
  • Embora a assistência vetorial seja compatível com todas as versões do pgvector, recomendamos usar a mais recente para ter uma performance ideal e suporte a recursos. Para mais informações, consulte o pgvector changelog.
  • Se a instância usar a extensão google_ml_integration para gerar embeddings, as restrições dela também serão válidas quando você usar a assistência de vetor. Para mais informações, consulte a visão geral do gerenciamento de endpoints de modelo.
  • O Vector Assist só é compatível com os tipos de índice HNSW e IVFFlat.
  • O Vector Assist só é compatível com modelos de embedding de texto para gerar embeddings automaticamente e usa 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 manualmente esses embeddings antes de usar o recurso de assistência vetorial para ativar a pesquisa semântica neles.

A seguir