Visão geral da assistência de vetor

A assistência vetorial é uma extensão do Cloud SQL para PostgreSQL que simplifica a implantação e o gerenciamento das cargas de trabalho vetoriais do Cloud SQL. 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 configuração simplificada.

Como a assistência vetorial funciona

Para usar a assistência vetorial, é necessário definir 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 de vetor. Uma especificação de vetor é um objeto em que você define a intenção e os requisitos da sua carga de trabalho vetorial. Ela inclui todas as informações necessárias, incluindo:

  • As tabelas e colunas relevantes (texto ou vetor)
  • Preferências do 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 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:

  • 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.recommendation, e você pode revisar, modificar e aplicar as recomendações individualmente ou como um todo.

Sempre que você modifica a especificação do vetor para sua 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 Cloud SQL para PostgreSQL, considere as seguintes limitações:

  • A assistência vetorial só oferece suporte às versões 12 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 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 gerenciamento de endpoints de modelo.
  • A assistência vetorial só oferece suporte aos tipos de índice HNSW e IVFFlat.
  • A assistência vetorial só oferece suporte a 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 esses embeddings manualmente antes de usar a assistência vetorial para ativar a pesquisa semântica nesses embeddings.

A seguir