Busca vetorial (busca semântica)
Definição rápida
A busca vetorial é um método de recuperação que retorna os itens cujas embeddings são mais próximas da embedding da consulta, de modo que os resultados correspondem por significado em vez de palavras-chave compartilhadas. É o motor usual da busca semântica.
Nesta página
Como a busca vetorial funciona
Cada documento, passagem ou produto é transformado em uma embedding e armazenado em um índice. No momento da consulta, a pergunta é embarcada com o mesmo modelo, e o índice retorna os vetores mais próximos, geralmente medidos pela similaridade do cosseno. Um cliente perguntando “algo quente para esquiar” pode encontrar uma jaqueta descrita como “casaco de inverno isolado e impermeável” mesmo que nenhuma palavra corresponda.
Comparar uma consulta com milhões de vetores um a um seria lento, então os índices usam algoritmos aproximados de vizinho mais próximo. HNSW, um grafo em camadas descrito por Malkov e Yashunin em 2016, é um dos mais amplamente utilizados; ele troca uma pequena perda de precisão por uma busca muito rápida. Extensões de código aberto como pgvector trazem esses índices para o PostgreSQL.
Busca semântica vs busca por palavras-chave
A busca por palavras-chave (BM25, texto completo, correspondência de trigramas) é precisa em termos exatos: uma referência de produto, uma marca, um código de erro. Ela falha em sinônimos e parafrases. A busca vetorial é o oposto: forte em significado, fraca em strings exatas e identificadores raros.
É por isso que a maioria dos sistemas de produção usa busca híbrida: executa ambos, depois mescla ou reclassifica os resultados. Pesquisas de recuperação densa, como o trabalho de Karpukhin e colegas de 2020 sobre perguntas e respostas, mostraram o quanto a recuperação semântica melhora a recuperação, e os profissionais aprenderam desde então o quanto ainda se beneficia de um parceiro de palavras-chave.
Armadilhas
A busca vetorial sempre retorna algo, mesmo quando nada relevante existe, então um sistema precisa de um limiar de relevância ou uma verificação antes de usar os resultados. Ele não entende números ou restrições: “menos de 50 euros, em estoque, tamanho M” precisa de filtros reais em dados estruturados. E a qualidade depende de como o conteúdo foi dividido: trechos que são muito longos borram o significado, trechos que são muito curtos perdem o contexto.
Busca vetorial no AI SmartTalk
O AI SmartTalk armazena embeddings no PostgreSQL com pgvector, com um índice HNSW em documentos de produtos, e combina similaridade vetorial com busca por trigramas e texto completo. Para produtos, a ferramenta de busca do assistente adiciona filtros estruturados em preço, estoque, marca, categoria e atributos de variante, para que uma pergunta semântica e uma restrição precisa possam ser respondidas juntas.
Perguntas frequentes
A busca semântica é a mesma que a busca vetorial?
A busca semântica é o objetivo — encontrar resultados pelo significado. A busca vetorial sobre embeddings é a maneira mais comum de alcançá-la, muitas vezes combinada com busca por palavras-chave.
Preciso de um banco de dados vetorial dedicado?
Não necessariamente. Extensões como pgvector adicionam índices vetoriais ao PostgreSQL, o que é suficiente para muitas aplicações e mantém vetores ao lado do restante dos dados.
O que é busca híbrida?
Uma busca que executa busca vetorial e busca por palavras-chave juntas e mescla os resultados, de modo que lida tanto com perguntas parafraseadas quanto com termos exatos, como referências de produtos.