Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Introdução à pesquisa de vetor
Neste documento, apresentamos uma visão geral da pesquisa de vetor no BigQuery. A pesquisa
vetorial é uma técnica para comparar objetos semelhantes usando embeddings. Ela
é usada para oferecer produtos do Google, incluindo a Pesquisa Google,
o YouTube e o Google Play. Você pode usar a pesquisa vetorial para realizar
pesquisas em grande escala. Ao usar índices de vetor
com a pesquisa vetorial, você pode aproveitar tecnologias básicas, como
indexação de arquivos invertidos (IVF, na sigla em inglês) e o
algoritmo ScaNN.
A pesquisa vetorial é criada com embeddings. 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.
Esse conceito de semelhança semântica e distância em um espaço de embedding é
demonstrado visualmente quando você considera como itens diferentes podem ser plotados.
Por exemplo, termos como gato, cachorro e leão, que representam tipos de
animais, são agrupados próximos uns dos outros nesse espaço devido às características semânticas
compartilhadas. Da mesma forma, termos como carro, caminhão e o termo mais genérico veículo formariam outro cluster. Isso é mostrado na imagem abaixo:
Os clusters de animais e veículos estão posicionados bem afastados
uns dos outros. A separação entre os grupos ilustra o princípio
de que quanto mais próximos os objetos estão no espaço de embedding, mais semanticamente
semelhantes eles são, e distâncias maiores indicam maior dissimilaridade semântica.
O BigQuery oferece uma experiência completa para gerar
embeddings, indexar conteúdo e realizar pesquisas vetoriais. É possível concluir
cada uma dessas tarefas de forma independente ou em uma única jornada. Para conferir um tutorial
que mostra como concluir todas essas tarefas, consulte
Realizar pesquisa semântica e geração aumentada de recuperação.
Para realizar uma pesquisa de vetor usando SQL, use a
função VECTOR_SEARCH.
Você pode criar um índice de vetor usando a
instrução CREATE VECTOR INDEX.
Quando um índice vetorial é usado, VECTOR_SEARCH usa a técnica de pesquisa do
Vizinho aproximado mais perto
para melhorar o desempenho da pesquisa vetorial, mas reduzindo o
recall
e, portanto, retornando resultados mais aproximados. Sem um índice de vetor,
VECTOR_SEARCH usa
pesquisa de força bruta
para medir a distância de cada registro. Também é possível usar a força bruta
para encontrar resultados exatos mesmo quando um índice vetorial está disponível.
Recomendar produtos substitutos ou correspondentes:melhore
as aplicações de e-commerce sugerindo alternativas de produtos com base no comportamento
do cliente e na semelhança do produto.
Análise de registros:ajude as equipes a triar proativamente as anomalias nos registros e acelerar as investigações. Você também pode usar esse recurso para enriquecer
o contexto de LLMs, a fim de melhorar a detecção de ameaças, a análise forense e
os fluxos de trabalho de solução de problemas. Para conferir um notebook que ilustra esse
cenário, consulte
Detecção e investigação de anomalias de registro com embeddings de texto e pesquisa de vetor do BigQuery.
Agrupamento e segmentação:segmente os públicos-alvo com precisão. Por exemplo,
uma rede de hospitais pode agrupar pacientes usando notas de linguagem natural e
dados estruturados, ou um profissional de marketing pode segmentar anúncios com base na intenção da consulta.
Para conferir um notebook que ilustra esse
cenário, consulte
Create-Campaign-Customer-Segmentation.
Resolução e eliminação de duplicação de entidades:limpe e consolide os dados.
Por exemplo, uma empresa de publicidade pode eliminar registros de informações de identificação pessoal (PII) ou uma empresa imobiliária pode identificar endereços de correspondência correspondentes.
Função VECTOR_SEARCH: você vai receber cobranças pela pesquisa de similaridade usando
preços sob demanda ou edições.
Sob demanda: você é cobrado pela quantidade de bytes verificados na tabela
base, no índice e na consulta de pesquisa.
Preços das edições: você vai receber cobranças pelos slots necessários para concluir
o job na edição de reserva. Cálculos de similaridade maiores e mais complexos
geram mais cobranças.
Declaração CREATE VECTOR INDEX: não há cobrança pelo processamento
necessário para criar e atualizar índices vetoriais, desde que o tamanho
total dos dados da tabela indexada esteja abaixo do limite
por organização. Para
oferecer suporte à indexação além desse limite, é necessário
fornecer sua própria reserva
para processar os jobs de gerenciamento de índice.
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 ativo.
Os índices vetoriais geram custos de armazenamento quando estão ativos.
É possível encontrar o tamanho de armazenamento do índice usando a
visualização INFORMATION_SCHEMA.VECTOR_INDEXES.
Se o índice vetorial ainda não tiver 100% de cobertura, você ainda vai receber cobranças por
tudo o que foi indexado. É possível verificar a cobertura do índice usando a
visualização INFORMATION_SCHEMA.VECTOR_INDEXES.
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.
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.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-04 UTC."],[[["\u003cp\u003eVector search in BigQuery allows searching embeddings to identify semantically similar entities, using high-dimensional numerical vectors that represent data like text or audio.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eVECTOR_SEARCH\u003c/code\u003e function, optionally enhanced by a vector index, enables this search, with the index improving performance through Approximate Nearest Neighbor search, and brute force offering an alternative to get exact results.\u003c/p\u003e\n"],["\u003cp\u003eEmbedding generation combined with vector search powers use cases like retrieval-augmented generation (RAG), resolving similar support cases, patient profile matching, and analyzing sensor data.\u003c/p\u003e\n"],["\u003cp\u003ePricing for \u003ccode\u003eCREATE VECTOR INDEX\u003c/code\u003e and \u003ccode\u003eVECTOR_SEARCH\u003c/code\u003e falls under BigQuery compute pricing, with free indexing up to a per-organization limit, after which users need to use their own reservations to index.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eVECTOR_SEARCH\u003c/code\u003e queries aren't supported by BigQuery BI Engine, and BigQuery's data security and governance rules apply to its use.\u003c/p\u003e\n"]]],[],null,["# Introduction to vector search\n=============================\n\nThis document provides an overview of\n[vector search](/bigquery/docs/vector-search) in BigQuery. Vector\nsearch is a technique to compare similar objects using embeddings, and it\nis used to power Google products, including Google Search,\nYouTube, and Google Play. You can use vector search to perform\nsearches at scale. When you use [vector indexes](/bigquery/docs/vector-index)\nwith vector search, you can take advantage of foundational technologies like\ninverted file indexing (IVF) and the\n[ScaNN algorithm](https://research.google/blog/announcing-scann-efficient-vector-similarity-search/).\n\nVector search is built on embeddings. Embeddings are high-dimensional numerical\nvectors that represent a given entity, like a piece of text or an audio file.\nMachine learning (ML) models use embeddings to encode semantics about such\nentities to make it easier to reason about and compare them. For example, a\ncommon operation in clustering, classification, and recommendation models is to\nmeasure the distance between vectors in an\n[embedding space](https://en.wikipedia.org/wiki/Latent_space) to find items\nthat are most semantically similar.\n\nThis concept of semantic similarity and distance in an embedding space is\nvisually demonstrated when you consider how different items might be plotted.\nFor example, terms like *cat* , *dog* , and *lion* , which all represent types of\nanimals, are grouped close together in this space due to their shared semantic\ncharacteristics. Similarly, terms like *car* , *truck* , and the more generic term\n*vehicle* would form another cluster. This is shown in the following image:\n\nYou can see that the animal and vehicle clusters are positioned far apart\nfrom each other. The separation between the groups illustrates the principle\nthat the closer objects are in the embedding space, the more semantically\nsimilar they are, and greater distances indicate greater semantic dissimilarity.\n\nBigQuery provides an end-to-end experience for generating\nembeddings, indexing content, and performing vector searches. You can complete\neach of these tasks independently, or in a single journey. For a tutorial\nthat shows how to complete all of these tasks, see\n[Perform semantic search and retrieval-augmented generation](/bigquery/docs/vector-index-text-search-tutorial).\n\nTo perform a vector search by using SQL, you use the\n[`VECTOR_SEARCH` function](/bigquery/docs/reference/standard-sql/search_functions#vector_search).\nYou can optionally create a [vector index](/bigquery/docs/vector-index) by\nusing the\n[`CREATE VECTOR INDEX` statement](/bigquery/docs/reference/standard-sql/data-definition-language#create_vector_index_statement).\nWhen a vector index is used, `VECTOR_SEARCH` uses the\n[Approximate Nearest Neighbor](https://en.wikipedia.org/wiki/Nearest_neighbor_search#Approximation_methods)\nsearch technique to improve vector search performance, with the\ntrade-off of reducing\n[recall](https://developers.google.com/machine-learning/crash-course/classification/precision-and-recall#recallsearch_term_rules)\nand so returning more approximate results. Without a vector index,\n`VECTOR_SEARCH` uses\n[brute force search](https://en.wikipedia.org/wiki/Brute-force_search)\nto measure distance for every record. You can also choose to use brute\nforce to get exact results even when a vector index is available.\n\nThis document focuses on the SQL approach, but you can also perform\nvector searches by using BigQuery DataFrames in Python. For a notebook\nthat illustrates the Python approach, see\n[Build a Vector Search application using BigQuery DataFrames](https://github.com/googleapis/python-bigquery-dataframes/blob/main/notebooks/generative_ai/bq_dataframes_llm_vector_search.ipynb).\n\nUse cases\n---------\n\nThe combination of embedding generation and vector search enables many\ninteresting use cases. Some possible use cases are as follows:\n\n- **[Retrieval-augmented generation (RAG)](/use-cases/retrieval-augmented-generation):** Parse documents, perform vector search on content, and generate summarized answers to natural language questions using Gemini models, all within BigQuery. For a notebook that illustrates this scenario, see [Build a Vector Search application using BigQuery DataFrames](https://github.com/googleapis/python-bigquery-dataframes/blob/main/notebooks/generative_ai/bq_dataframes_llm_vector_search.ipynb).\n- **Recommending product substitutes or matching products:** Enhance ecommerce applications by suggesting product alternatives based on customer behavior and product similarity.\n- **Log analytics:** Help teams proactively triage anomalies in logs and accelerate investigations. You can also use this capability to enrich context for LLMs, in order to improve threat detection, forensics, and troubleshooting workflows. For a notebook that illustrates this scenario, see [Log Anomaly Detection \\& Investigation with Text Embeddings + BigQuery Vector Search](https://github.com/GoogleCloudPlatform/generative-ai/blob/main/embeddings/use-cases/outlier-detection/bq-vector-search-outlier-detection-audit-logs.ipynb).\n- **Clustering and targeting:** Segment audiences with precision. For example, a hospital chain could cluster patients using natural language notes and structured data, or a marketer could target ads based on query intent. For a notebook that illustrates this scenario, see [Create-Campaign-Customer-Segmentation](https://github.com/GoogleCloudPlatform/chocolate-ai/blob/main/colab-enterprise/Create-Campaign-Customer-Segmentation.ipynb).\n- **Entity resolution and deduplication:** Cleanse and consolidate data. For example, an advertising company could deduplicate personally identifiable information (PII) records, or a real estate company could identify matching mailing addresses.\n\nPricing\n-------\n\nThe `VECTOR_SEARCH` function and the `CREATE VECTOR INDEX` statement use\n[BigQuery compute pricing](/bigquery/pricing#analysis_pricing_models).\n\n- `VECTOR_SEARCH` function: You are charged for similarity search, using\n on-demand or editions pricing.\n\n - On-demand: You are charged for the amount of bytes scanned in the base table, the index, and the search query.\n - Editions pricing: You are charged for the slots required to complete\n the job within your reservation edition. Larger, more complex\n similarity calculations incur more charges.\n\n | **Note:** Using an index isn't supported in [Standard editions](/bigquery/docs/editions-intro).\n- `CREATE VECTOR INDEX` statement: There is no charge for the processing\n required to build and refresh your vector indexes as long as the total\n size of the indexed table data is below your per-organization\n [limit](/bigquery/quotas#vector_index_maximum_table_size). To\n support indexing beyond this limit, you must\n [provide your own reservation](/bigquery/docs/vector-index#use_your_own_reservation)\n for handling the index management jobs.\n\nStorage is also a consideration for embeddings and indexes. The amount of bytes\nstored as embeddings and indexes are subject to\n[active storage costs](/bigquery/pricing#storage).\n\n- Vector indexes incur storage costs when they are active.\n- You can find the index storage size by using the [`INFORMATION_SCHEMA.VECTOR_INDEXES` view](/bigquery/docs/information-schema-vector-indexes). If the vector index is not yet at 100% coverage, you are still charged for whatever has been indexed. You can check index coverage by using the `INFORMATION_SCHEMA.VECTOR_INDEXES` view.\n\nQuotas and limits\n-----------------\n\nFor more information, see\n[Vector index limits](/bigquery/quotas#vector_index_limits).\n\nLimitations\n-----------\n\nQueries that contain the `VECTOR_SEARCH` function aren't accelerated by\n[BigQuery BI Engine](/bigquery/docs/bi-engine-intro).\n\nWhat's next\n-----------\n\n- Learn more about [creating a vector index](/bigquery/docs/vector-index).\n- Learn how to perform a vector search using the [`VECTOR_SEARCH`\n function](/bigquery/docs/reference/standard-sql/search_functions#vector_search).\n- Try the [Search embeddings with vector search](/bigquery/docs/vector-search) tutorial to learn how to create a vector index, and then do a vector search for embeddings both with and without the index.\n- Try the [Perform semantic search and retrieval-augmented generation](/bigquery/docs/vector-index-text-search-tutorial)\n tutorial to learn how to do the following tasks:\n\n - Generate text embeddings.\n - Create a vector index on the embeddings.\n - Perform a vector search with the embeddings to search for similar text.\n - Perform retrieval-augmented generation (RAG) by using vector search results to augment the prompt input and improve results.\n- Try the [Parse PDFs in a retrieval-augmented generation pipeline](/bigquery/docs/rag-pipeline-pdf)\n tutorial to learn how to create a RAG pipeline based on parsed PDF content."]]