O pipeline: (1) codifique seus documentos em embeddings usando um modelo como BGE, E5 ou Voyage, (2) armazene esses embeddings em um banco de dados vetorial (Pinecone, Qdrant, Weaviate, pgvector), (3) quando uma consulta chegar, codifique-a com o mesmo modelo, (4) encontre os embeddings mais próximos usando métricas de similaridade como similaridade de cosseno ou produto escalar. A consulta "como consertar um vazamento de memória" corresponde a um documento intitulado "depurando consumo de RAM em Node.js" porque seus embeddings estão próximos no espaço vetorial.
A busca semântica pura tem uma fraqueza: ela pode perder correspondências exatas que a busca por palavras-chave captura facilmente. Se alguém busca o código de erro "ERR_SSL_PROTOCOL_ERROR", a busca semântica pode retornar troubleshooting geral de SSL em vez do erro exato. A busca híbrida combina ambas: correspondência por palavras-chave (BM25) para precisão e busca semântica para recall, depois mescla os resultados. A maioria dos sistemas de busca em produção usa abordagens híbridas.
A qualidade da busca semântica depende inteiramente do modelo de embedding. Modelos de propósito geral (text-embedding-3 da OpenAI, Cohere Embed) funcionam bem para a maioria dos textos. Modelos específicos de domínio (treinados em dados médicos, jurídicos ou de código) superam modelos gerais em seu domínio. Modelos multilíngues permitem busca entre idiomas. O leaderboard MTEB faz benchmark de modelos de embedding em muitas tarefas — é o melhor recurso para escolher um.