Visão geral da assistência de vetor

O assistente 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. Ele 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 intent: 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.
  • Concentrando-se 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 o assistente vetorial, é possível criar aplicativos completos com recursos de pesquisa semântica e configuração simplificada.

Como o assistente vetorial funciona

Para usar o assistente 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. O assistente 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, o assistente vetorial regenera as recomendações.

Depois de gerar o índice vetorial usando essas etapas recomendadas, você pode usar o assistente vetorial para gerar consultas de pesquisa otimizadas.

Especificação do assistente vetorial

A primeira etapa para usar o assistente 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:

  • 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.

O assistente vetorial infere as entradas de especificação e um algoritmo de ajuste automático otimizado que calcula a configuração ideal do índice. Embora o assistente vetorial use esses valores para simplificar o processo de desenvolvimento, ainda é possível personalizá-los de acordo com suas preferências.

Recomendações do assistente vetorial

Depois de definir a especificação do vetor, o assistente 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:

  • 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.

O assistente 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, o assistente vetorial regenera as recomendações para obedecer às especificações atualizadas.

Limitações

Ao usar o assistente vetorial com as instâncias do Cloud SQL para PostgreSQL, considere as seguintes limitações:

  • O assistente vetorial só oferece suporte às versões 12 e mais recentes do PostgreSQL.
  • Embora o assistente 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 o assistente vetorial. Para mais informações, consulte Visão geral do gerenciamento de endpoints de modelo.
  • O assistente vetorial só oferece suporte aos tipos de índice HNSW e IVFFlat.
  • O assistente 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 o assistente vetorial para ativar a pesquisa semântica neles.

A seguir