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
HNSWouIVFFlat. - 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 opgvectorregistro de alterações. - Se a instância usar a extensão
google_ml_integrationpara 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
HNSWeIVFFlat. - A assistência vetorial só oferece suporte a modelos de embedding de texto para gerar embeddings automaticamente e usa
text_column_namecomo parâmetro de entrada. Se a carga de trabalho vetorial exigir um modelo de embedding multimodal, use a extensãogoogle_ml_integrationou outra extensão para gerar esses embeddings manualmente antes de usar a assistência vetorial para ativar a pesquisa semântica nesses embeddings.