A busca vetorial é uma técnica de busca que encontra resultados com base no significado, e não apenas na correspondência de palavras-chave. Enquanto a busca tradicional faz a correspondência de palavras exatas, a busca vetorial compara embeddings. Essas representações numéricas capturam o significado de textos, imagens, áudios e outros conteúdos.
Os resultados são classificados de acordo com a proximidade entre seus embeddings e os da consulta, e não por palavras compartilhadas. Isso torna a busca vetorial uma camada essencial de recuperação por trás de assistentes de AI modernos, sistemas de busca semântica e de geração aumentada de recuperação (RAG).
Este guia aborda como a busca vetorial funciona, como ela se compara à busca por palavra-chave e à busca semântica, exemplos e casos de uso comuns, e como avaliá-la na prática.
A busca vetorial funciona em três etapas: criação de embeddings, construção de um índice e correspondência de uma consulta com esse índice.
Encontrar essas correspondências mais próximas é chamado de busca de vizinhos mais próximos. A abordagem mais simples, a busca de k-vizinhos mais próximos (k-NN), compara a consulta com cada item no índice e retorna as k correspondências mais próximas. Embora precisa, ela se torna muito lenta à medida que os conjuntos de dados crescem para a casa dos milhões.
A maioria dos sistemas em produção usa a busca de vizinhos mais próximos aproximados (ANN). O ANN usa índices especializados para identificar correspondências prováveis sem comparar todos os itens. Ele troca uma pequena quantidade de precisão por um desempenho drasticamente mais rápido, tornando a busca vetorial prática em escala.
Uma busca simples ilustra como a busca vetorial difere da busca por palavra-chave.
Busque por "cachorro". Uma busca por palavra-chave retorna resultados que contêm essa palavra exata. Uma busca vetorial também pode retornar resultados para "filhote", "canino" e "golden retriever". Esses termos estão conceitualmente relacionados a "cachorro", mesmo que usem palavras diferentes. O mecanismo de busca está procurando pelo conceito, não pela palavra exata.
A busca vetorial também funciona em diferentes formatos. Uma consulta de texto como "tênis vermelho" pode retornar imagens de produtos que correspondem à descrição, mesmo que a imagem não contenha texto. A busca por palavra-chave não consegue fazer essa conexão porque depende da correspondência de palavras. A busca vetorial recupera conteúdo com base na similaridade semântica, independentemente do formato.
A busca por palavra-chave faz a correspondência de palavras. A busca vetorial faz a correspondência de significados. Ambas as abordagens têm pontos fortes, e é por isso que a busca vetorial complementa a busca por palavra-chave em vez de substituí-la.
A busca por correspondência exata continua sendo a melhor ferramenta para consultas estruturadas, como IDs de pedidos, códigos de produtos e títulos de documentos conhecidos.
| Atributo | Busca por palavra-chave | Busca vetorial |
|---|---|---|
| Correspondência por | Palavras exatas | Significado e contexto |
| Lida com sinônimos | Fraco | Forte |
| Funciona em vários idiomas | Não | Geralmente sim |
| Funciona em imagens e áudio | Não | Sim |
| Melhor para termos exatos (IDs, códigos) | Forte | Mais fraco |
| Método típico | BM25 / TF-IDF | Busca de vizinhos mais próximos |
Os sistemas de busca mais robustos combinam ambas as abordagens. A seção de busca híbrida abaixo explica como.
A busca semântica e a busca vetorial estão intimamente relacionadas, mas não são a mesma coisa. A busca semântica é o resultado: ajudar os usuários a encontrar informações relevantes com base no significado e no contexto. A busca vetorial é uma das técnicas mais comuns usadas para alcançá-la.
Como a busca semântica descreve um resultado e não uma tecnologia específica, ela pode ser implementada de diferentes maneiras. Em muitos sistemas modernos, a busca vetorial é o principal mecanismo por trás da busca semântica.
Vetores densos e esparsos são projetados para diferentes tipos de problemas de busca.
Vetores densos capturam o significado geral e o contexto. Eles ajudam os sistemas a reconhecer ideias relacionadas, sinônimos e conceitos, mesmo quando palavras diferentes são usadas. Gerados por modelos de machine learning, eles são ideais para correspondência semântica e multilíngue.
Vetores esparsos funcionam mais como a busca por palavra-chave tradicional. A maioria dos valores é zero, com valores diferentes de zero apenas para termos que aparecem no conteúdo. Gerados por algoritmos como o BM25, eles se destacam na correspondência de termos exatos. Códigos de produtos, nomes próprios e identificadores específicos são as áreas onde os vetores esparsos se destacam.
| Tipo | O que captura | Melhor para |
|---|---|---|
| Vetores densos | Significado geral e contexto | Correspondência semântica, de sinônimos e multilíngue |
| Vetores esparsos | Palavras-chave específicas e seus pesos | Termos exatos, nomes e códigos |
A combinação de vetores densos e esparsos é a base da busca híbrida. Essa combinação geralmente oferece os resultados mais confiáveis em produção.
A busca híbrida combina resultados baseados em vetores e em palavras-chave em uma única classificação. Geralmente, ela é o padrão prático para sistemas em produção porque une a recuperação baseada em significado e a correspondência exata em uma única experiência de busca. A busca vetorial pode deixar passar códigos de produtos, nomes ou identificadores exatos porque esses termos nem sempre se agrupam de forma próxima no espaço de embedding. A busca por palavra-chave pode perder resultados relevantes que usam uma redação diferente. A busca híbrida resolve ambos os desafios combinando os pontos fortes de cada abordagem.
A maioria dos sistemas de busca híbrida também inclui uma etapa de reclassificação (reranking). O reranking é uma segunda passagem que reordena os resultados para colocar as melhores correspondências no topo. Como resultado, a busca híbrida geralmente oferece uma relevância mais confiável do que qualquer um dos métodos isoladamente. A Databricks Platform oferece suporte a índices híbridos que combinam busca semântica e por palavra-chave, com reranking integrado.
A busca vetorial potencializa aplicações que dependem da localização de resultados relevantes, em vez de correspondências exatas de palavras-chave.
A geração aumentada de recuperação (RAG) ajuda assistentes de AI a responder a perguntas usando informações atuais e relevantes, em vez de confiar inteiramente no que o modelo já sabe. Antes de responder, o assistente recupera o conteúdo relevante de uma base de conhecimento. A busca vetorial é a camada de recuperação que encontra esse conteúdo.
Os documentos são divididos em partes menores (chunks) para que o sistema possa recuperar o trecho mais relevante, e não apenas o documento mais relevante. Essa abordagem tornou o RAG uma das aplicações de busca vetorial que mais cresce. Saiba mais sobre RAG e bancos de dados vetoriais.
Bases de conhecimento internas, sistemas de chamados e repositórios de documentos tornam-se mais úteis quando as pessoas pesquisam pelo significado, e não pela redação exata. Uma consulta como "política de licença parental" pode trazer o documento de HR correto, mesmo que ele tenha o título "guia de benefícios familiares". A busca vetorial facilita a localização do conhecimento corporativo sem exigir frases exatas.
Os mecanismos de recomendação usam a busca vetorial para encontrar produtos, artigos, vídeos e outros conteúdos que sejam conceitualmente semelhantes ao que o usuário já está visualizando. Isso possibilita experiências familiares, como as recomendações de "clientes que gostaram deste item também gostaram de". O sistema simplesmente encontra itens cujos embeddings estão mais próximos do item atual.
A busca vetorial pode fazer correspondências entre diferentes formatos e idiomas. Uma consulta de texto como "botas de caminhada para terreno molhado" pode retornar imagens de produtos relevantes, mesmo quando as imagens não contêm texto. Uma consulta em inglês também pode recuperar documentos relevantes escritos em espanhol. Isso torna a busca vetorial útil para organizações globais e aplicações que trabalham com diversos tipos de conteúdo.
A busca vetorial pode ajudar a identificar padrões incomuns ao encontrar itens que estão distantes dos normais. Na detecção de fraudes, transações que parecem significativamente diferentes da atividade típica podem ser sinalizadas para revisão. A mesma abordagem pode ser usada para detectar anomalias no tráfego de rede, sistemas de manufatura e outros dados operacionais.
Nem sempre. A abordagem correta depende da sua escala, dos requisitos de desempenho e da infraestrutura existente. As organizações normalmente implementam a busca vetorial usando um banco de dados vetorial, um mecanismo de busca com recursos vetoriais ou uma biblioteca de busca por similaridade. Saiba mais sobre bancos de dados vetoriais.
| Opção | O que é | Melhor quando |
|---|---|---|
| Banco de dados vetorial | Desenvolvido especificamente para embeddings em escala | Necessidades de alto volume e baixa latência |
| Mecanismo de busca com recursos vetoriais | Adiciona vetores à busca existente | Já executa busca por palavras-chave |
| Biblioteca | Kit de ferramentas de código para busca por similaridade | Pequenos projetos, prototipagem |
Serviços gerenciados podem reduzir o tempo de configuração, a sobrecarga operacional e a manutenção contínua. A Plataforma Databricks inclui um banco de dados vetorial integrado por meio do Databricks AI Search, que combina busca vetorial, busca por palavras-chave, filtragem de metadados e reranqueamento em um único serviço. Ele também se integra a recursos de governança de AI, como o Unity Catalog, ajudando as organizações a aplicar controles consistentes a aplicações de AI.
Implementar a busca vetorial em um ambiente de produção é apenas o primeiro passo. Para garantir confiabilidade, desempenho e precisão contínuos em produção, esses sistemas exigem ajuste fino e manutenção constantes em várias áreas operacionais importantes.
Índices vetoriais grandes consomem memória e recursos de computação, o que aumenta os custos de infraestrutura. À medida que os conjuntos de dados crescem e os volumes de consultas aumentam, esses custos também sobem. Uma busca mais rápida e precisa geralmente exige mais recursos, de modo que as equipes precisam equilibrar desempenho, qualidade e custo.
Os índices vetoriais não são atualizados automaticamente quando o conteúdo de origem é alterado. Quando documentos são adicionados, editados ou removidos, o índice deve ser atualizado para refletir essas alterações. Sem atualizações regulares, os resultados da busca podem ficar desatualizados e perder novas informações importantes.
Antes de ajustar um sistema, crie um pequeno conjunto de testes com consultas representativas e resultados sabidamente bons. Medir a qualidade significa verificar se os resultados corretos aparecem próximos ao topo para essas consultas. Isso cria uma linha de base para avaliar alterações futuras.
Dois fatores costumam ter um impacto significativo na relevância. Os filtros de metadados refinam os resultados por tags, datas ou categorias antes da execução do ranqueamento por similaridade. Isso pode melhorar a precisão quando a correspondência semântica retorna resultados em excesso.
A qualidade do embedding também depende do modelo usado para gerá-lo. Modelos de uso geral podem não capturar bem terminologias especializadas. Para domínios com linguagem específica do setor, como saúde, jurídico ou serviços financeiros, um modelo ajustado ao domínio pode melhorar a qualidade da recuperação.
O Databricks AI Search é um banco de dados vetorial gerenciado integrado à Plataforma Databricks. Ele oferece suporte a busca semântica, busca por palavras-chave, filtragem de metadados e reranqueamento em um único serviço. Como ele se integra aos dados, à governança e às ferramentas de produtividade existentes, as equipes podem criar sistemas de recuperação sem precisar conectar plataformas separadas.
O AI Search se conecta diretamente aos dados que as organizações já gerenciam no Databricks, reduzindo a necessidade de mover ou duplicar dados. Ele também se integra a recursos de governança, como o Unity Catalog, permitindo que os controles de acesso e as políticas de linhagem existentes sejam estendidos às cargas de trabalho de busca.
Como a busca vetorial é usada em aplicações de RAG?
Em um sistema de RAG, a consulta do usuário é convertida em um embedding e comparada com uma biblioteca de blocos de documentos em um índice vetorial. As correspondências mais próximas são recuperadas e enviadas ao modelo de linguagem como contexto. O modelo então gera uma resposta baseada nos próprios dados da organização, em vez de depender apenas de seus dados de treinamento.
Quando você deve usar a busca híbrida em vez de apenas a busca vetorial?
Quando os usuários buscam por identificadores específicos, como códigos de produtos, códigos de erro ou nomes próprios, a busca semântica isolada pode não encontrá-los. Termos exatos nem sempre se alinham perfeitamente no espaço de embedding. A busca híbrida combina resultados vetoriais e de palavras-chave, oferecendo amplitude semântica e precisão de correspondência exata em um único ranqueamento.
O que torna os resultados da busca vetorial mais precisos?
Vários fatores influenciam a qualidade da recuperação. A qualidade do modelo de embedding determina quão bem o significado é capturado. Os filtros de metadados refinam o espaço de busca antes da execução do ranqueamento por similaridade. A atualização do índice garante que os resultados reflitam o conteúdo atual, em vez de informações desatualizadas.
Quais são os principais trade-offs da busca vetorial?
A busca vetorial exige mais memória e computação do que a busca por palavras-chave. Índices grandes geram custos reais de infraestrutura. A busca por ANN é aproximada por design, criando um pequeno trade-off de precisão em comparação com a busca exaustiva. Os índices também exigem atualizações regulares para se manterem em dia conforme os dados de origem mudam. A busca híbrida adiciona complexidade, mas costuma fornecer resultados mais confiáveis do que qualquer uma das abordagens isoladas.
Como o Databricks AI Search oferece suporte à busca vetorial?
O Databricks AI Search é um banco de dados vetorial gerenciado e serverless integrado à Plataforma Databricks. Ele oferece suporte a busca híbrida, filtragem de metadados e reranqueamento integrado. Pipelines de sincronização automatizados mantêm os índices atualizados conforme os dados das tabelas Delta mudam, enquanto o Unity Catalog estende os controles de governança para as cargas de trabalho de busca.
A busca vetorial ajuda os sistemas de AI a encontrar informações relevantes com base no significado, em vez de palavras-chave exatas. Esse recurso potencializa tudo, desde aplicações de RAG e mecanismos de recomendação até a busca corporativa.
À medida que os sistemas de AI se tornam mais dependentes da recuperação, a busca híbrida e uma infraestrutura de busca confiável tornam-se cada vez mais importantes. Para saber mais, explore o AI Search na Plataforma Databricks.
(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original
Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.