Visão geral da pesquisa vetorial com IA no AlloyDB

A IA do AlloyDB integra o processamento de vetores e a pesquisa de similaridade diretamente ao AlloyDB para PostgreSQL, permitindo consultar dados relacionais estruturados e não estruturados por significado semântico. Ao combinar recursos SQL padrão com a indexação Approximate Nearest Neighbor (ANN), a IA do AlloyDB oferece suporte a fluxos de trabalho de pesquisa semântica e geração aumentada de recuperação (RAG, na sigla em inglês) sem exigir a implantação e o gerenciamento de um banco de dados vetorial separado.

Arquitetura principal e desempenho

O AlloyDB usa a extensão pgvector do PostgreSQL para funcionalidade vetorial. Ele oferece suporte ao índice HNSW popular, bem como ao índice Scalable Nearest Neighbors (ScaNN), um algoritmo de pesquisa vetorial de última geração derivado de anos de pesquisa da Pesquisa Google. Essa integração profunda ao ambiente do PostgreSQL permite operações de alta velocidade compatíveis com pgvector e consultas semânticas avançadas.

Desempenho do índice ScaNN

O índice ScaNN oferece vantagens de velocidade substanciais em relação ao índice HNSW (Hierarchical Navigable Small Worlds) padrão do PostgreSQL, fornecendo operações vetoriais rápidas necessárias para cargas de trabalho de IA exigentes:

Operação Ganho de desempenho (em comparação com o índice HNSW padrão do PostgreSQL) Recursos
Criação de índice Até 10 vezes mais rápido Criação de índice paralelo
Consultas de pesquisa vetorial Até 4 vezes mais rápido Manutenção automática de índice
Consultas de pesquisa vetorial filtradas Até 10 vezes mais rápido Observabilidade de nível empresarial

Filtragem adaptativa e otimização de consultas

O índice ScaNN está totalmente integrado ao planejador de consultas do PostgreSQL para garantir o desempenho ideal de consultas híbridas que envolvem similaridade vetorial e filtros de metadados estruturados padrão.

  • Filtragem adaptativa:esse mecanismo garante o desempenho ideal quando filtros, junções e índices vetoriais são usados simultaneamente. Ele funciona observando as estatísticas de execução de consultas no ambiente de execução, aprendendo a seletividade dos filtros e ajustando de forma adaptativa o plano de execução para determinar a ordem mais eficiente de aplicação de filtros e pesquisa vetorial.
  • Filtragem inline:específica para o algoritmo ScaNN, a filtragem inline é uma estratégia de otimização que executa a pesquisa vetorial e a avaliação de filtros de metadados em conjunto. Ela aproveita índices secundários do PostgreSQL (como árvores B, GIN ou GiST) para criar uma lista curta (bitmap) de linhas que atendem aos critérios de filtro. A verificação vetorial subsequente só calcula distâncias para vetores contidos nesse conjunto pré-filtrado, reduzindo drasticamente a sobrecarga computacional, especialmente quando os filtros são moderadamente seletivos.

Integração perfeita com a Gemini Enterprise Agent Platform

A IA do AlloyDB foi projetada para integração integrada ao ecossistema da Agent Platform, permitindo a transformação e o enriquecimento de dados diretamente no banco de dados usando SQL.

Geração automatizada de embeddings

A plataforma oferece suporte à geração automatizada de embeddings usando a extensão google_ml_integration. Esse recurso permite que dados operacionais (texto, imagens e vídeo) sejam convertidos em embeddings de vetor usando modelos da Agent Platform, como text-embedding-005.

  • Registro de modelo:os modelos da Agent Platform (embedding e generativo) são registrados no banco de dados usando o procedimento google_ml.create_model.
  • Colunas virtuais:os embeddings podem ser gerados e mantidos automaticamente em uma coluna gerada usando a função embedding(), garantindo que os dados vetoriais permaneçam sincronizados com os dados da coluna de origem:
ALTER TABLE my_table
ADD COLUMN embedding vector(768)
GENERATED ALWAYS AS (embedding('text-embedding-005', source_column)) STORED;

Consulta e enriquecimento de IA generativa

Com os embeddings de vetor armazenados, os desenvolvedores podem realizar pesquisas semânticas sofisticadas usando o operador de similaridade vetorial (<=>) no SQL padrão. Além disso, os resultados dessas pesquisas podem ser transmitidos diretamente a modelos de IA generativa, como gemini-2.0-flash-001, usando funções como google_ml.generate_content para enriquecimento de consultas com base em RAG e geração de saída fácil de usar.