BM25 vs embeddings vs rerankery: stack wyszukiwania w 2026 roku

Tłumaczenie automatyczne Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.

Dobry stack wyszukiwania działa jak lejek. Tanie metody najpierw zbierają szeroki zestaw kandydatów, a droższe metody później dopracowują znacznie mniejszy zbiór. Problemy często zaczynają się wtedy, gdy zespoły zastępują wyszukiwanie dokładnego tekstu embeddings, zamiast łączyć oba podejścia.

Zacznij od filtrów i BM25 — skutecznej metody rankingu dokładnego tekstu. Dodaj dense retrieval, aby znajdować dopasowania semantyczne, a następnie połącz obie listy wyników za pomocą Reciprocal Rank Fusion (RRF) lub podobnej metody. Wykonaj reranking krótkiej listy za pomocą cross-encodera. Używaj LLM tylko dla niewielkiego końcowego zbioru, w przypadkach, w których wzrost jakości uzasadnia dodatkowe opóźnienie i koszt.

Ostatni przegląd: 2026-08-10. Stack jest oceniany na podstawie recall, wzrostu jakości rankingu, poprawności względem zasad, p95 latency oraz kosztu dla rzeczywistych wycinków zapytań, a nie na podstawie jednej uniwersalnej liczby kandydatów.

Zalecany stack

EtapDomyślne rozwiązanieZadanie
FiltrowanieFiltry ustrukturyzowaneEgzekwowanie tenantów, uprawnień, produktu, języka, czasu i dostępności.
Wyszukiwanie leksykalneBM25Dokładne nazwy, identyfikatory, kody błędów, terminy prawne i tokeny o wysokiej precyzji.
Dense retrievalEmbeddingsSynonimy, parafrazy, nieprecyzyjne intencje i recall semantyczny.
FuzjaReciprocal Rank Fusion lub kompozycja retrieverów z wagamiŁączenie kandydatów sparse i dense bez założenia, że ich score’y są porównywalne.
RerankingCross-encoderZmiana kolejności krótkiej listy z ograniczeniem latency, z uwzględnieniem interakcji zapytanie–dokument.
Końcowa precyzjaReranker LLM lub model odpowiedziRozstrzyganie subtelnych kwestii trafności dopiero po znacznym zmniejszeniu listy.
EwaluacjaRecall@k, nDCG, MRR, etykiety kliknięć, etykiety nadane przez ludziUdowodnienie, że każdy etap poprawia wynik poprzedniego.

Domyślne rozwiązania dla przypadków użycia

Powierzchnia produktuDobre rozwiązanie domyślneDlaczego
Wyszukiwanie w dokumentacjiBM25 plus embeddings plus cross-encoderZnaczenie mają zarówno dokładne nazwy API, jak i pytania semantyczne.
Pobieranie dla RAGHybrid retrieval plus reranker plus kontrole cytowańBrak dowodów jest zwykle gorszy niż wolniejsze generowanie.
Wyszukiwanie produktówFiltry leksykalne plus hybrid retrieval plus cechy biznesoweZnaczenie mają dostępność, cena, popularność i dokładne facety.
Wyszukiwanie zgłoszeńHybrid retrieval plus świeżość i metadane zgłoszeńZnaczenie mają zarówno podobne sformułowania, jak i aktualna polityka.
Wewnętrzna baza wiedzyBaseline BM25, a następnie dense retrieval na podstawie logów zapytańNajpierw uzyskaj mierzalność, zanim dodasz koszt modelu.
Wyszukiwanie prawne lub complianceBaseline leksykalny plus ścisłe filtry, a następnie ostrożne rozszerzanie semantyczneZarówno false positives, jak i false negatives są kosztowne.

Dlaczego BM25 nadal należy do stacku

Embeddings znajdują tekst o podobnym znaczeniu, ale nie zastępują niezawodnie dokładnego dopasowania. Kody błędów, nazwy funkcji, SKU produktów, sformułowania prawne i imiona często przekazują intencję właśnie dzięki dokładnej pisowni. BM25 pozostaje mocnym baseline’em, ponieważ premiuje terminy rzeczywiście wpisane przez użytkownika.

Dense retrieval zwiększa recall, gdy użytkownicy nie znają dokładnego słownictwa. Wybór nie sprowadza się do BM25 albo embeddings. Używaj BM25 do recall leksykalnego, embeddings do recall semantycznego, a fuzji do ich połączenia.

Kiedy dodać reranker

Dodaj cross-encoder, gdy trafne dokumenty trafiają do zestawu kandydatów, ale zajmują w nim zbyt niskie pozycje. Liczbę kandydatów dobierz na podstawie zmierzonego recall i latency; top 50 to przydatny eksperyment, a nie uniwersalny próg.

Nie dodawaj rerankera LLM przed cross-encoderem, chyba że zestaw kandydatów jest bardzo mały. Ocena trafności musi być również wystarczająco subtelna, aby uzasadniać koszt. Reranking LLM może pomóc, ale jest droższy i wolniejszy. Porównuj go z tańszym rerankerem.

Sekwencja ewaluacji

  1. Oznacz rzeczywiste zapytania obejmujące istotne intencje, języki, uprawnienia i koszty błędów. Zacznij od małego zbioru, a następnie rozszerzaj go, dopóki wycinki i niepewność nie będą wystarczające do podjęcia decyzji.
  2. Zmierz BM25 w izolacji.
  3. Dodaj dense retrieval i zmierz zmianę recall.
  4. Dodaj fuzję i zmierz nDCG oraz Recall@k.
  5. Dodaj reranking cross-encoderem i zmierz Precision@1 oraz nDCG.
  6. Dodaj reranking LLM tylko wtedy, gdy poprawia jakość po uwzględnieniu kosztu i latency.
  7. Monitoruj metryki produkcyjne: odsetek wyników zerowych, odsetek reformulacji, click-through rate, korekty odpowiedzi, p95 latency i koszt.

Dalsza lektura

Referencje