Przejdź do treści
4.7Ekspert7 min

Hybrid search w RAG: jak dobrze łączyć BM25 i podobieństwo wektorowe

Sebastian KarallZaktualizowano 28 października 2026
Definicja

Wyszukiwanie hybrydowe w RAG łączy wyszukiwanie leksykalne (BM25/dopasowanie słów kluczowych) z gęstym podobieństwem wektorowym. Oba retrievery działają równolegle, a ich listy trafień są scalane w jeden wynik za pomocą fuzji rankingów (najczęściej Reciprocal Rank Fusion). Dzięki temu system znajduje zarówno semantycznie podobne fragmenty, jak i dokładne terminy, nazwy własne i kody, które same embeddingi pomijają.

W skrócie

  • Wyszukiwanie hybrydowe łączy dwa uzupełniające się retrievery: BM25 wyłapuje dokładne terminy, nazwy własne, identyfikatory produktów i kody, a gęste wyszukiwanie wektorowe rozpoznaje synonimy i znaczenie. Czysto wektorowy RAG może przeoczyć dokładne kody, np. kod błędu TS-999 z przykładu Contextual Retrieval firmy Anthropic.
  • Reciprocal Rank Fusion (RRF) to najbardziej odporna metoda fuzji, ponieważ korzysta wyłącznie z pozycji w rankingu zamiast z nieporównywalnej surowej punktacji, więc obywa się bez normalizacji punktacji.
  • Contextual Retrieval firmy Anthropic łączy Contextual Embeddings z Contextual BM25 i obniża odsetek błędów wyszukiwania w top 20 o 49 procent (z 5,7 do 2,9 procent), a z dodatkowym rerankingiem o 67 procent (stan na 09/2024).
  • Hybrydowy retrieval w połączeniu z Gemini 2.5 Flash osiąga w benchmarku Agri-Query ponad 85 procent dokładności i wyraźnie przewyższa naiwne prompty z długim kontekstem (arXiv:2508.18093, 2025).
  • Wszystkie gotowe do produkcji bazy wektorowe obsługują wyszukiwanie hybrydowe, w tym Qdrant (Berlin) i Weaviate (Amsterdam), czyli suwerenne opcje dla UE.

Wyszukiwanie hybrydowe w RAG łączy wyszukiwanie leksykalne (BM25/dopasowanie słów kluczowych) z gęstym podobieństwem wektorowym. Oba retrievery działają równolegle, a ich listy trafień są scalane w jeden wynik za pomocą fuzji rankingów. Dzięki temu system znajduje zarówno semantycznie podobne fragmenty, jak i dokładne terminy, nazwy własne i kody, które same embeddingi pomijają. Hybrydowy retrieval jest od 2023 roku stałym elementem Advanced RAG i powinien być częścią każdego produkcyjnego pipeline’u, który przeszukuje coś więcej niż ogólne teksty ciągłe.

  • Co jest łączone: wyszukiwanie typu sparse (BM25, dokładne tokeny) plus wyszukiwanie typu dense (embeddingi wektorowe, znaczenie) w jeden zbiór trafień.
  • Jak jest łączone: przez fuzję rankingów, najczęściej Reciprocal Rank Fusion (RRF), rzadziej przez ważoną fuzję punktacji z wcześniejszą normalizacją.
  • Dlaczego to się opłaca: podejście hybrydowe wygrywa z czysto wektorowym RAG wszędzie tam, gdzie liczą się dokładne terminy, i mierzalnie poprawia recall.

Dwa filary: podejście leksykalne kontra semantyczne

BM25 (podejście sparse / leksykalne). BM25 to sprawdzony standard wyszukiwania pełnotekstowego. Algorytm ocenia dokumenty według dokładnej zgodności terminów, przypisuje większą wagę rzadkim terminom (inverse document frequency) i normalizuje względem długości dokumentu. BM25 jest deterministyczny, szybki, w swoim mechanizmie niezależny od języka i nie wymaga inferencji modelu. Jego siła jest zarazem jego ograniczeniem: znajduje tylko to, co występuje dosłownie (lub po tokenizacji i stemmingu). Synonimy, omówienia i parafrazy mu umykają.

Gęste podobieństwo wektorowe (podejście semantyczne). Dense retrieval osadza zapytanie i dokument w tej samej przestrzeni wektorowej i mierzy ich bliskość, zwykle za pomocą podobieństwa cosinusowego. Indeks przybliżonych najbliższych sąsiadów (w niemal wszystkich bazach wektorowych HNSW autorstwa Malkova i Yashunina) sprawia, że wyszukiwanie dobrze się skaluje. Dense retrieval wychwytuje znaczenie: „okres wypowiedzenia” i „powiadomienie o zakończeniu umowy” lądują blisko siebie, nawet bez wspólnych słów. Druga strona medalu: embeddingi wygładzają dokładne ciągi znaków. Numer artykułu, kod błędu czy rzadko spotykana nazwa własna rozmywa się w przestrzeni semantycznej.

Właśnie tu pojawia się potrzeba łączenia. Anthropic pokazuje ten problem na przykładzie w swoim artykule o Contextual Retrieval: jeśli ktoś pyta o kod błędu „TS-999”, model embeddingów może znaleźć treści o kodach błędów ogólnie, ale pominąć dokładne trafienie. BM25 natomiast szuka dokładnie tego ciągu znaków. Obie metody zawodzą przy różnych zapytaniach, dlatego wzajemnie się uzupełniają.

Kiedy wyszukiwanie hybrydowe wygrywa z klasycznym wektorowym RAG

Wyszukiwanie hybrydowe nie jest konieczne dla każdego korpusu, ale w następujących przypadkach ma wyraźną przewagę:

  • Dokładne kody i identyfikatory: numery produktów, artykułów i zamówień, SKU, kody błędów i statusów, numery zgłoszeń.
  • Nazwy własne i terminy specjalistyczne: osoby, firmy, nazwy produktów, paragrafy przepisów, rzadkie terminy specjalistyczne niedoreprezentowane w korpusie treningowym modelu embeddingów.
  • Wyszukiwanie w kodzie i logach: nazwy funkcji, zmienne, klucze konfiguracyjne: tu dokładne dopasowanie jest często ważniejsze niż znaczenie.
  • Zapytania mieszane: język naturalny plus osadzone dokładne tokeny („Jak naprawić kod błędu TS-999?”).

Przy jednorodnych, narracyjnych tekstach bez twardych identyfikatorów może wystarczyć sam dense retrieval. Gdy jednak w grę wchodzą ustrukturyzowane terminy, numery lub regulowana terminologia, a w codzienności B2B to norma, wygrywa podejście hybrydowe.

Fuzja: RRF, ważona punktacja i problem normalizacji

Trudną częścią nie jest równoległe wyszukiwanie, lecz scalanie wyników. Punktacja BM25 i wektorowa funkcjonuje w nieporównywalnych zakresach wartości: punktacja BM25 jest nieograniczona i zależna od korpusu, a podobieństwo cosinusowe mieści się między minus jeden a jeden. Jeśli po prostu je dodasz, dominująca skala zagłuszy wszystko.

Reciprocal Rank Fusion (RRF) rozwiązuje to elegancko: ignoruje surową punktację i korzysta wyłącznie z pozycji w rankingu. Każdy dokument otrzymuje na każdej liście trafień punktację według wzoru:

```
RRF_score(d) = suma po wszystkich listach 1 / (k + rang(d))
```

Tutaj rang(d) to pozycja dokumentu na danej liście, a k to niewielka stała (często 60), która tłumi wpływ bardzo wysokich pozycji. Dokument, który na obu listach znajduje się wysoko, zbiera najwyższą łączną punktację. Ponieważ RRF nie zależy od skali, odpada wszelka normalizacja, co czyni metodę odporną i niemal bezparametrową.

Ważona fuzja punktacji to alternatywa, gdy chcesz świadomie nadać jednej modalności większą wagę (np. 0,7 * dense + 0,3 * sparse). Wymaga ona jednak normalizacji: obie listy punktacji trzeba najpierw sprowadzić do wspólnego zakresu (np. min-max od zera do jednego), zanim połączy się je liniowo. To rozwiązanie daje większe możliwości, ale jest bardziej wrażliwe na strojenie i dryf korpusu.

Aspekt

Reciprocal Rank Fusion (RRF)

Ważona fuzja punktacji

Dane wejściowe

Tylko pozycje w rankingu

Surowa punktacja obu retrieverów

Wymagana normalizacja

Nie

Tak (np. min-max)

Parametry

Jedna stała k (często 60)

Wagi dla każdego retrievera + normalizacja

Odporność

Wysoka, niezależna od korpusu

Średnia, podatna na strojenie i dryf

Sterowalność

Niska (równorzędna fuzja)

Wysoka (modalność można celowo ważyć)

Rekomendacja

Domyślny wybór dla większości wdrożeń

Gdy udowodniono, że jedna modalność powinna dominować

Architektura pipeline’u

Schematycznie pipeline hybrydowego retrievalu działa tak:

```
Query ──┬─► Dense Encoder ──► ANN-Index (HNSW) ──► top_n_dense
│
└─► Tokenizer ──────► BM25-Index ───────► top_n_sparse
│
Rank-Fusion (RRF / weighted) ◄────┘
→ unified top_k
```

W praktyce następnie stosuje się reranking: hybrydowy retrieval przy wysokim recallu dostarcza zwykle od 50 do 100 kandydatów (top_k = 50–100), a reranker typu cross-encoder ocenia zapytanie i dokument łącznie i zawęża wybór do pięciu do dziesięciu najtrafniejszych wyników, które trafiają do LLM. Popularne modele to Cohere Rerank, BGE-Reranker i Jina Reranker v3. Jego dostawca, Jina AI, należy od października 2025 roku do Elastic. Cross-encodery są dokładniejsze, ale wolniejsze, dlatego uruchamia się je dopiero po tanim etapie hybrydowego recallu.

Przykład z praktyki w liczbach

Najistotniejszy wiarygodny punkt danych pochodzi z Contextual Retrieval firmy Anthropic (stan na 09/2024). To podejście rozwija właśnie ideę hybrydową: każdy chunk przed embeddingiem i przed indeksowaniem BM25 otrzymuje na początku krótki nagłówek kontekstowy wygenerowany przez LLM (Contextual Embeddings plus Contextual BM25).

  • Same Contextual Embeddings: odsetek błędów wyszukiwania w top 20 obniżony z 5,7 do 3,7 procent, minus 35 procent.
  • Contextual Embeddings plus Contextual BM25 (czyli hybryda): z 5,7 do 2,9 procent, minus 49 procent.
  • Dodatkowo reranking: do 1,9 procent, minus 67 procent.

Innymi słowy: samo dodanie komponentu BM25 do kontekstualizowanego dense retrievalu obniża odsetek błędów z 3,7 do 2,9 procent. To odczuwalny wzrost recallu, nieosiągalny bez wyszukiwania leksykalnego. Indeksowanie kosztowało przy tym około 1,02 dolara amerykańskiego za milion tokenów dokumentów przy użyciu prompt cachingu (stan na 09/2024). Te liczby pochodzą z ewaluacji przeprowadzonej przez dostawcę i należy je odczytywać właśnie w ten sposób.

Drugi, niezależny dowód: w benchmarku Agri-Query (arXiv:2508.18093, 2025) hybrydowy retrieval w połączeniu z Gemini 2.5 Flash osiąga ponad 85 procent dokładności w wielu językach i wyraźnie przewyższa naiwne prompty z długim kontekstem. Wyszukiwanie hybrydowe jest więc także argumentem w toczącej się debacie „RAG kontra długi kontekst”: przy realistycznych, wieloczęściowych zapytaniach hybrydowy RAG pozostaje architekturą dokładniejszą i bardziej racjonalną kosztowo.

Narzędzia: wyszukiwanie hybrydowe w bazie wektorowej

W 2026 roku wszystkie gotowe do produkcji bazy wektorowe obsługują wyszukiwanie hybrydowe natywnie lub za pomocą rozszerzeń. Qdrant (Berlin) stawia na wektory rzadkie i BM42, Weaviate (Amsterdam) łączy BM25 z wyszukiwaniem gęstym, Pinecone oferuje sparse-dense, a Vespa oraz sprawdzone platformy wyszukiwania Elastic i OpenSearch łączą klasyczny BM25 z kNN. pgvector realizuje wyszukiwanie hybrydowe dzięki dodatkowym rozszerzeniom BM25. Dla projektów w Europie z wymaganiami dotyczącymi suwerenności najoczywistszymi opcjami są Qdrant i Weaviate, hostowane w UE i oferujące granularne filtrowanie metadanych, istotne dla separacji klientów zgodnie z RODO.

Dla agencji i B2B

Wyszukiwanie hybrydowe to dźwignia, dzięki której prototyp RAG staje się niezawodnym rozwiązaniem produkcyjnym, zwłaszcza w branżach z katalogami produktów, normami, sygnaturami akt, taryfami lub instrukcjami technicznymi, gdzie dokładne terminy mają krytyczne znaczenie dla biznesu. Jeśli jako agencja budujesz asystentów opartych na RAG lub portale wiedzy dla klientów w całej Europie, zaplanuj hybrydowy retrieval z RRF i rerankingiem jako rozwiązanie domyślne, a nie dodatek na później. Blck Alpaca projektuje i wdraża takie pipeline’y wyszukiwania z zachowaniem suwerenności w UE jako oprogramowanie na zamówienie dla firm, od wyboru narzędzi i strategii fuzji po ewaluację opartą na RAGAS. Odezwij się do nas, jeśli Twój system RAG ma niezawodnie znajdować właściwe dokumenty.

Podsumuj z AIChatGPTClaudePerplexity

Otwiera czat z przygotowanym promptem.

Najczęściej zadawane pytania

Kiedy wyszukiwanie hybrydowe wygrywa z czysto wektorowym RAG?
Zawsze wtedy, gdy liczą się dokładne ciągi znaków: numery produktów i artykułów, kody błędów, paragrafy przepisów, nazwy własne, tickety lub nazwy funkcji w kodzie. Gęste embeddingi wygładzają takie tokeny semantycznie. Przy zapytaniu o kod błędu, np. TS-999, sama semantyka może zwrócić ogólne treści o kodach błędów i pominąć dokładny wpis, podczas gdy BM25 szuka dokładnie tego ciągu znaków. Komponent leksykalny pomaga też przy rzadkich terminach specjalistycznych, które są niedoreprezentowane w korpusie treningowym modelu embeddingów.
Czym jest Reciprocal Rank Fusion (RRF)?
RRF to metoda fuzji, która scala kilka list trafień w jeden wspólny ranking. Każdy dokument otrzymuje na każdej liście punktację równą 1 podzielone przez (k plus pozycja w rankingu), a punktacje są sumowane. Kluczowe jest to, że RRF wykorzystuje wyłącznie pozycję w rankingu, a nie surową punktację retrieverów. Odpada więc trudna normalizacja między nieporównywalnymi wartościami BM25 i cosinusowymi, a metoda uchodzi za odporną i wymagającą niewielu parametrów.
Dlaczego nie można po prostu dodać punktacji BM25 i wektorowej?
Ponieważ mieszczą się w zupełnie różnych zakresach wartości. Punktacja BM25 jest nieograniczona i zależy od korpusu, a podobieństwo cosinusowe mieści się między minus jeden a jeden. Bezpośrednie dodanie sprawiłoby, że jedna skala zdominowałaby drugą. Jeśli chcesz stosować ważoną fuzję punktacji, musisz najpierw znormalizować obie listy, np. metodą min-max do zakresu od zera do jednego. RRF omija ten problem, bo pracuje wyłącznie na pozycjach w rankingu.
Czy po wyszukiwaniu hybrydowym potrzebuję jeszcze rerankingu?
Jeśli odpowiedzi mają być wysokiej jakości, to tak. Wyszukiwanie hybrydowe zwykle dostarcza od 50 do 100 kandydatów, zapewniając dobry recall. Reranker typu cross-encoder, który ocenia zapytanie i dokument łącznie, precyzyjnie wybiera z nich pięć do dziesięciu najlepszych i tylko te przekazuje do LLM. Według Anthropic połączenie Contextual Retrieval i rerankingu zmniejsza liczbę błędów wyszukiwania nawet o 67 procent (stan na 09/2024).
Które bazy wektorowe natywnie obsługują wyszukiwanie hybrydowe?
W 2026 roku praktycznie wszystkie gotowe do produkcji systemy obsługują wyszukiwanie hybrydowe: Qdrant (BM42/wektory rzadkie, Berlin), Weaviate (BM25 plus dense, Amsterdam), Pinecone (sparse-dense), Vespa, Elastic i OpenSearch (klasyczny BM25 plus kNN), MongoDB Atlas, Milvus i Redis. pgvector może realizować wyszukiwanie hybrydowe za pomocą dodatkowych rozszerzeń BM25. Dla suwerennych wdrożeń w UE najoczywistszymi opcjami są Qdrant i Weaviate.

Chcesz zgłębić temat?

Otrzymuj nowe analizy prosto na swoją skrzynkę albo zobacz, jak wykorzystujemy tę wiedzę w firmach.