BM25 vs Embeddings vs Rerankers: stack de pesquisa em 2026
Tradução automática Este artigo foi traduzido automaticamente a partir da versão original em inglês.
Um bom stack de pesquisa funciona como um funil. Primeiro, os métodos baratos recolhem um conjunto amplo de candidatos; depois, os métodos dispendiosos refinam um conjunto muito menor. Os problemas começam frequentemente quando as equipas substituem a pesquisa por texto exato por embeddings, em vez de combinarem ambos.
Comece com filtros e BM25, um método forte de ranking por texto exato. Adicione dense retrieval para encontrar correspondências semânticas e, em seguida, combine ambas as listas de resultados com Reciprocal Rank Fusion (RRF) ou um método semelhante. Faça rerank da shortlist com um cross-encoder. Utilize um LLM apenas para um conjunto final muito pequeno, quando o ganho de qualidade justificar a latência e o custo adicionais.
Última revisão: 2026-08-10. O stack é avaliado por recall, ganho de ranking, correção das políticas, latência p95 e custo em segmentos de queries reais, não por um único número universal de candidatos.
Stack recomendado
| Fase | Predefinição | Função |
|---|---|---|
| Filtragem | Filtros estruturados | Aplicar tenant, permissões, produto, idioma, tempo e disponibilidade. |
| Lexical retrieval | BM25 | Nomes exatos, IDs, códigos de erro, termos jurídicos e tokens de alta precisão. |
| Dense retrieval | Embeddings | Sinónimos, paráfrases, intenção difusa e recall semântico. |
| Fusion | Reciprocal Rank Fusion ou composição ponderada de retrievers | Combinar candidatos sparse e dense sem presumir que as pontuações são comparáveis. |
| Reranking | Cross-encoder | Reordenar uma shortlist limitada pela latência com interação entre query e documento. |
| Precisão final | LLM reranker ou modelo de respostas | Resolver casos de relevância subtis apenas quando a lista for pequena. |
| Avaliação | Recall@k, nDCG, MRR, labels de cliques, labels humanos | Demonstrar que cada fase melhora a anterior. |
Predefinições por caso de utilização
| Superfície do produto | Boa predefinição | Motivo |
|---|---|---|
| Pesquisa de documentação | BM25 mais embeddings mais cross-encoder | Tanto os nomes exatos de APIs como as questões semânticas são importantes. |
| Retrieval para RAG | Hybrid retrieval mais reranker mais verificações de citações | A falta de evidência é normalmente pior do que uma geração lenta. |
| Pesquisa de produtos | Filtros lexicais mais hybrid retrieval mais atributos de negócio | Disponibilidade, preço, popularidade e facetas exatas são importantes. |
| Pesquisa de suporte | Hybrid retrieval mais atualidade e metadados de tickets | Tanto formulações semelhantes como a política atual são importantes. |
| Base de conhecimento interna | Baseline BM25, seguido de dense retrieval a partir de logs de queries | Comece por uma abordagem mensurável antes de adicionar custos de modelo. |
| Pesquisa jurídica ou de compliance | Baseline lexical mais filtros rigorosos, seguido de expansão semântica cuidadosa | Tanto os falsos positivos como os falsos negativos têm custos elevados. |
Porque é que BM25 continua a fazer parte do stack
Os embeddings encontram texto com significado semelhante, mas não substituem de forma fiável a correspondência exata. Códigos de erro, nomes de funções, SKUs de produtos, expressões jurídicas e nomes de pessoas transmitem frequentemente a intenção através da sua grafia exata. BM25 continua a ser um baseline forte porque dá prioridade aos termos que o utilizador escreveu efetivamente.
Dense retrieval aumenta o recall quando os utilizadores não conhecem o vocabulário exato. A escolha não é entre BM25 e embeddings. Utilize BM25 para recall lexical, embeddings para recall semântico e fusion para os combinar.
Quando adicionar um reranker
Adicione um cross-encoder quando os documentos relevantes entram no conjunto de candidatos, mas ficam demasiado abaixo no ranking. Escolha o número de candidatos com base no recall e na latência medidos; top 50 é uma experiência útil, não um limiar universal.
Não adicione um LLM reranker antes de um cross-encoder, a menos que o conjunto de candidatos seja muito pequeno. O julgamento de relevância também tem de ser suficientemente subtil para justificar o custo. O LLM reranking pode ajudar, mas é mais caro e lento. Compare-o com um reranker mais barato.
Sequência de avaliação
- Faça a anotação de queries reais abrangendo intenções importantes, idiomas, permissões e custos de falhas. Comece com um conjunto pequeno e expanda-o até que os segmentos e a incerteza permitam fundamentar a decisão.
- Meça apenas o BM25.
- Adicione dense retrieval e meça a variação do recall.
- Adicione fusion e meça nDCG e Recall@k.
- Adicione cross-encoder reranking e meça Precision@1 e nDCG.
- Adicione LLM reranking apenas se melhorar a qualidade depois de incluir o custo e a latência.
- Acompanhe as métricas de produção: taxa de resultados nulos, taxa de reformulação, click-through, correções de respostas, latência p95 e custo.
Leitura adicional
- Search Ranking Stack apresenta o walkthrough completo de implementação.
- RAG Evaluation Metrics explica a avaliação de retrieval e de citações.