Introdução à pesquisa de vetor

Para enviar feedback ou solicitar suporte para esse recurso, envie um e-mail para bq-vector-search@google.com.

Neste documento, apresentamos uma visão geral da pesquisa de vetor no BigQuery. A pesquisa de vetor permite pesquisar embeddings para identificar entidades semanticamente parecidas.

Os embeddings são vetores numéricos de alta dimensão que representam uma determinada entidade, como um texto ou um arquivo de áudio. Os modelos de machine learning (ML) usam embeddings para codificar semântica sobre essas entidades, facilitando o entendimento delas e sua comparação. Por exemplo, uma operação comum em modelos de clustering, classificação e recomendação é medir a distância entre vetores em um espaço de embedding para encontrar os itens semanticamente mais parecidos.

Para executar uma pesquisa de vetor, use a função VECTOR_SEARCH e, se preferir, um índice vetorial. Quando um índice vetorial é usado, VECTOR_SEARCH usa a técnica de pesquisa do Vizinho aproximado mais perto para melhorar o desempenho da pesquisa de vetor, mas reduzindo o recall e, portanto, retornando resultados mais aproximados. A força bruta é usada para retornar resultados exatos quando um índice vetorial não está disponível. É possível usar a força bruta para encontrar resultados exatos mesmo quando um índice vetorial está disponível.

Preços

A instrução CREATE VECTOR INDEX e a função VECTOR_SEARCH usam os preços de computação do BigQuery. Na instrução CREATE VECTOR INDEX, somente a coluna indexada é considerada nos bytes processados.

Não há cobrança pelo processamento necessário para criar e atualizar os índices vetoriais quando o tamanho total dos dados da tabela indexada na organização estiver abaixo do limite de 20 TB. Para oferecer suporte à indexação além desse limite, é preciso fornecer sua própria reserva para processar os jobs de gerenciamento de índice. Os índices vetoriais geram custos de armazenamento quando estão ativos. É possível encontrar o tamanho de armazenamento do índice na visualização INFORMATION_SCHEMA.VECTOR_INDEXES. Se o índice vetorial ainda não tiver 100% de cobertura, ainda será haverá cobrança por todo o armazenamento de índice reportado na visualização INFORMATION_SCHEMA.VECTOR_INDEXES.

Cotas e limites

Para mais informações, consulte Limites de índice vetorial.

Limitações

  • As consultas que contêm a função VECTOR_SEARCH não são aceleradas pelo BigQuery BI Engine.
  • As regras de segurança e governança de dados do BigQuery se aplicam ao uso de VECTOR_SEARCH. Para mais informações, consulte a seção Limitações em VECTOR_SEARCH. Essas regras não se aplicam à geração de índices vetoriais.

Problemas conhecidos

Para algumas consultas de pesquisa de vetor emitidas de um projeto que está em reserva, o índice de vetor não pode ser usado. Até que uma correção esteja disponível, entre em contato com bq-vector-search@google.com se precisar de ajuda para resolver esse problema.

A seguir

  • Saiba mais sobre como criar um índice vetorial.
  • Siga o tutorial Pesquisar embeddings com pesquisa de vetor para aprender a criar um índice de vetor e, em seguida, faça uma pesquisa de vetor para embeddings com e sem o índice.
  • Faça o tutorial Gerar e usar embeddings de texto para aprender a realizar as seguintes tarefas:

    • Gere embeddings de texto.
    • Crie um índice de vetor nos embeddings.
    • Realize uma pesquisa vetorial com os embeddings para procurar textos semelhantes.
    • Realize a geração aumentada de recuperação (RAG, na sigla em inglês) usando resultados da pesquisa de vetor para aumentar a entrada do comando e melhorar os resultados.