Introdução às incorporações e à pesquisa vetorial

Este documento oferece uma vista geral das incorporações e da pesquisa vetorial no BigQuery. A pesquisa vetorial é uma técnica para comparar objetos semelhantes através de incorporações e é usada para potenciar os produtos Google, incluindo a Pesquisa Google, o YouTube e o Google Play. Pode usar a pesquisa vetorial para fazer pesquisas em grande escala. Quando usa índices vetoriais com a pesquisa vetorial, pode tirar partido de tecnologias fundamentais, como a indexação de ficheiros invertidos (IVF) e o algoritmo ScaNN.

A pesquisa vetorial baseia-se em incorporações. As incorporações são vetores numéricos de alta dimensão que representam uma determinada entidade, como um fragmento de texto ou um ficheiro de áudio. Os modelos de aprendizagem automática usam incorporações para codificar a semântica sobre essas entidades, o que facilita o raciocínio e a comparação das mesmas. Por exemplo, uma operação comum nos modelos de clustering, classificação e recomendação é medir a distância entre vetores num espaço de incorporação para encontrar itens semanticamente mais semelhantes.

Este conceito de semelhança semântica e distância num espaço de incorporação é demonstrado visualmente quando considera como diferentes itens podem ser representados graficamente. Por exemplo, termos como gato, cão e leão, que representam tipos de animais, estão agrupados próximos neste espaço devido às suas características semânticas partilhadas. Da mesma forma, termos como carro, camião e o termo mais genérico veículo formariam outro cluster. Isto é apresentado na imagem seguinte:

Os conceitos semanticamente semelhantes, como _gato_, _cão_ e _leão_, ou _carro_, _camião_ e _veículo_, estão próximos
no espaço de incorporação.

Pode ver que os grupos de animais e veículos estão posicionados muito distantes uns dos outros. A separação entre os grupos ilustra o princípio de que quanto mais próximos estiverem os objetos no espaço de incorporação, mais semelhantes são semanticamente, e as distâncias maiores indicam uma maior dissimilaridade semântica.

Exemplos de utilização

A combinação da geração de incorporações e da pesquisa vetorial permite muitos exemplos de utilização interessantes. Seguem-se alguns exemplos de utilização possíveis:

  • Geração aumentada de recuperação (RAG): analise documentos, faça uma pesquisa vetorial sobre o conteúdo e gere respostas resumidas a perguntas em linguagem natural usando os modelos Gemini, tudo no BigQuery. Para ver um bloco de notas que ilustra este cenário, consulte o artigo Crie uma aplicação de pesquisa vetorial com DataFrames do BigQuery.
  • Recomendar substitutos de produtos ou produtos correspondentes: melhore as aplicações de comércio eletrónico sugerindo alternativas de produtos com base no comportamento do cliente e na semelhança dos produtos.
  • Análise de registos: ajude as equipas a triar proativamente anomalias nos registos e a acelerar as investigações. Também pode usar esta capacidade para enriquecer o contexto dos GMLs, de modo a melhorar a deteção de ameaças, a análise forense e os fluxos de trabalho de resolução de problemas. Para ver um bloco de notas que ilustra este cenário, consulte o artigo Deteção e investigação de anomalias de registo com incorporações de texto + pesquisa vetorial do BigQuery.
  • Agrupamento e segmentação: segmente públicos-alvo com precisão. Por exemplo, uma cadeia de hospitais pode agrupar pacientes através de notas de linguagem natural e dados estruturados, ou um profissional de marketing pode segmentar anúncios com base na intenção da consulta. Para ver um bloco de notas que ilustra este cenário, consulte o artigo Create-Campaign-Customer-Segmentation.
  • Resolução de entidades e remoção de duplicados: limpe e consolide os dados. Por exemplo, uma empresa de publicidade pode remover duplicados de registos de informações de identificação pessoal (IIP) ou uma empresa imobiliária pode identificar moradas correspondentes.

Gere incorporações

As secções seguintes descrevem as funções que o BigQuery oferece para ajudar a gerar ou trabalhar com incorporações.

Gere incorporações únicas

Pode usar a função com modelos de incorporação da Vertex AI para gerar uma única incorporação da sua entrada.AI.EMBED

A função AI.EMBED suporta os seguintes tipos de entrada:

Gere uma tabela de incorporações

Pode usar a função AI.GENERATE_EMBEDDING para criar uma tabela com incorporações para todos os dados numa coluna da sua tabela de entrada. Para todos os tipos de modelos suportados, o AI.GENERATE_EMBEDDING funciona com dados estruturados em tabelas padrão. Para modelos de incorporação multimodal, AI.GENERATE_EMBEDDING também funciona com conteúdo visual de colunas de tabelas padrão que contêm valores ObjectRef ou de tabelas de objetos.

Para modelos remotos, toda a inferência ocorre no Vertex AI. Para outros tipos de modelos, toda a inferência ocorre no BigQuery. Os resultados são armazenados no BigQuery.

Use os seguintes tópicos para tentar incorporar a geração no BigQuery ML:

Geração autónoma de incorporações

Pode usar a geração autónoma de incorporações para simplificar o processo de criação, manutenção e consulta de incorporações. O BigQuery mantém uma coluna de incorporações na sua tabela com base numa coluna de origem. Quando adiciona ou modifica dados na coluna de origem, o BigQuery gera ou atualiza automaticamente a coluna de incorporação para esses dados através de um modelo de incorporação do Vertex AI. Isto é útil se quiser permitir que o BigQuery mantenha as suas incorporações quando os dados de origem são atualizados regularmente.

Estão disponíveis as seguintes funções de pesquisa:

Opcionalmente, pode criar um índice vetorial usando a declaração CREATE VECTOR INDEX. Quando é usado um índice vetorial, as funções VECTOR_SEARCH e AI.SEARCH usam a técnica de pesquisa Approximate Nearest Neighbor para melhorar o desempenho da pesquisa vetorial, com a contrapartida de reduzir a recolha e, assim, devolver resultados mais aproximados. Sem um índice vetorial, estas funções usam a pesquisa de força bruta para medir a distância de cada registo. Também pode optar por usar a força bruta para obter resultados exatos, mesmo quando um índice vetorial está disponível.

Preços

As funções VECTOR_SEARCH e AI.SEARCH e a declaração CREATE VECTOR INDEX usam os preços de computação do BigQuery.

  • Funções VECTOR_SEARCH e AI.SEARCH: a pesquisa de semelhanças é cobrada através dos preços a pedido ou das edições.

    • A pedido: é-lhe cobrado o número de bytes analisados na tabela base, no índice e na consulta de pesquisa.
    • Preços das edições: é cobrado o número de espaços necessários para concluir a tarefa na edição da reserva. Os cálculos de semelhança maiores e mais complexos incorrem em mais cobranças.

  • CREATE VECTOR INDEX: Não existe qualquer custo para o processamento necessário para criar e atualizar os seus índices vetoriais, desde que o tamanho total dos dados da tabela indexada esteja abaixo do seu limite por organização. Para suportar a indexação além deste limite, tem de fornecer a sua própria reserva para processar as tarefas de gestão de índices.

O armazenamento também é uma consideração para incorporações e índices. A quantidade de bytes armazenados como incorporações e índices está sujeita a custos de armazenamento ativos.

  • Os índices vetoriais incorrem em custos de armazenamento quando estão ativos.
  • Pode encontrar o tamanho do armazenamento do índice através da vista INFORMATION_SCHEMA.VECTOR_INDEXES. Se o índice vetorial ainda não tiver uma cobertura de 100%, continua a ser cobrado por tudo o que foi indexado. Pode verificar a cobertura do índice através da vista INFORMATION_SCHEMA.VECTOR_INDEXES.

Quotas e limites

Para mais informações, consulte os limites do índice vetorial e os limites da função de IA generativa.

Limitações

As consultas que contêm a função VECTOR_SEARCH ou AI.SEARCH não são aceleradas pelo BigQuery BI Engine.

O que se segue?