Hybrid Search v RAG: Ako správne kombinovať BM25 a Vector Similarity
Hybrid Search v RAG kombinuje lexikálne vyhľadávanie (BM25/keyword matching) s dense Vector Similarity. Oba retrievery bežia paralelne a ich zoznamy zásahov sa cez rank fusion (najčastejšie Reciprocal Rank Fusion) zlúčia do jedného výsledku. Systém tak nájde sémanticky podobné pasáže aj presné pojmy, vlastné mená a kódy, ktoré samotné embeddings nezachytia.
Key Takeaways
- ✓Hybrid Search spája dva komplementárne retrievery: BM25 zachytí presné pojmy, vlastné mená, ID produktov a kódy, dense vector search zachytí synonymá a význam. Čisto vektorový RAG preukázateľne minie presné kódy ako číslo artikla TS-999.
- ✓Reciprocal Rank Fusion (RRF) je najrobustnejšia metóda fúzie, pretože využíva len pozície v poradí namiesto neporovnateľných surových skóre, a tak sa zaobíde bez normalizácie skóre.
- ✓Anthropic Contextual Retrieval kombinuje Contextual Embeddings s Contextual BM25 a znižuje chybovosť Top-20 retrievalu o 49 percent (z 5,7 na 2,9 percenta), s dodatočným rerankingom o 67 percent (stav 09/2024).
- ✓Hybrid Retrieval plus Gemini 2.5 Flash dosahuje v benchmarku Agri-Query viac ako 85 percent accuracy a výrazne prekonáva naivné long-context prompty (arXiv:2508.18093, 2025).
- ✓Hybrid Search podporujú všetky produkčne pripravené vektorové databázy, vrátane DACH-/EU-suverénnych možností Qdrant (Berlín) a Weaviate (Amsterdam).
Hybrid Search v RAG kombinuje lexikálne vyhľadávanie (BM25/keyword matching) s dense Vector Similarity. Oba retrievery bežia paralelne a ich zoznamy zásahov sa cez rank fusion zlúčia do jedného výsledku. Systém tak nájde sémanticky podobné pasáže aj presné pojmy, vlastné mená a kódy, ktoré samotné embeddings nezachytia. Hybrid Retrieval je od roku 2023 pevnou súčasťou Advanced RAG a patrí do každého produkčného pipeline, ktorý prehľadáva viac než generické súvislé texty.
- Čo sa kombinuje: sparse retrieval (BM25, presné tokeny) plus dense retrieval (vektorové embeddings, význam) do jednej množiny zásahov.
- Ako sa kombinuje: rank fusion, najčastejšie Reciprocal Rank Fusion (RRF), zriedkavejšie vážená fúzia skóre s predchádzajúcou normalizáciou.
- Prečo sa to oplatí: hybrid prekonáva čisto vektorový RAG všade tam, kde záležia presné pojmy, a merateľne zlepšuje recall.
Dva piliere: lexikálny verzus sémantický
BM25 (sparse / lexikálny). BM25 je overený štandard fulltextového vyhľadávania. Algoritmus hodnotí dokumenty podľa presnej zhody termínov, silnejšie váži zriedkavé pojmy (inverse document frequency) a normalizuje cez dĺžku dokumentu. BM25 je deterministický, rýchly, mechanizmom nezávislý od jazyka a nepotrebuje inferenciu modelu. Jeho sila je zároveň jeho hranicou: nájde len to, čo sa vyskytuje doslova (resp. po tokenizácii a stemmingu). Synonymá, opisy a parafrázy mu unikajú.
Dense Vector Similarity (sémantický). Dense retrieval vkladá query a dokument do toho istého vektorového priestoru a meria blízkosť najčastejšie cez cosine similarity. Aproximovaný nearest-neighbor index (takmer vo všetkých vektorových databázach HNSW podľa Malkova a Yashunina) robí vyhľadávanie škálovateľným. Dense retrieval zachytáva význam: „výpovedná lehota“ a „upozornenie o ukončení zmluvy“ skončia blízko seba, aj bez spoločných slov. Odvrátená strana: embeddings vyhladzujú presné reťazce znakov. Číslo artikla, chybový kód alebo zriedkavo videné vlastné meno sa v sémantickom priestore rozmazáva.
Práve tu vzniká potreba kombinácie. Čistá sémantika bez BM25 je zdokumentovaný anti-pattern: dopyt na presný kód ako „TS-999“ vektorový retriever pravidelne nenájde, kým BM25 ho dodá okamžite. Obe metódy zlyhávajú na odlišných dopytoch — a preto sa navzájom kryjú.
Kedy hybrid prekoná klasický vektorový RAG
Hybrid Search nie je nutný pre každý korpus, ale v nasledujúcich prípadoch je jasne nadradený:
- Presné kódy a ID: čísla produktov, artiklov a objednávok, SKU, chybové a stavové kódy, referencie tiketov.
- Vlastné mená a odborné termíny: osoby, firmy, názvy produktov, právne paragrafy, zriedkavé odborné pojmy, ktoré sú v tréningovom korpuse embeddingov nedostatočne zastúpené.
- Vyhľadávanie v kóde a logoch: názvy funkcií, premenné, konfiguračné kľúče — tu je presné matchovanie často dôležitejšie než význam.
- Zmiešané dopyty: prirodzený jazyk plus vložené presné tokeny („Aká záruka platí pre model TS-999?“).
Pre homogénne, naratívne texty bez tvrdých identifikátorov môže stačiť čistý dense retrieval. Hneď ako sú však v hre štruktúrované pojmy, čísla alebo regulovaná terminológia — a to je v B2B každodennosti pravidlom — vyhráva hybrid.
Fúzia: RRF, vážené skóre a problém normalizácie
Háklivá časť nie je paralelné vyhľadávanie, ale zlúčenie. Skóre BM25 a vektorov žijú v neporovnateľných rozsahoch hodnôt: skóre BM25 sú neohraničené a závislé od korpusu, cosine similarity leží medzi mínus jedna a jedna. Ich jednoduché sčítanie nechá dominantnejšiu škálu prehlušiť všetko.
Reciprocal Rank Fusion (RRF) to rieši elegantne tým, že ignoruje surové skóre a používa len pozície v poradí. Každý dokument dostane za každý zoznam zásahov skóre podľa vzorca:
```
RRF_score(d) = súčet cez všetky zoznamy z 1 / (k + poradie(d))
```
Pritom poradie(d) je pozícia dokumentu v príslušnom zozname a k malá konštanta (často 60), ktorá tlmí vplyv veľmi vysokých pozícií. Dokument, ktorý stojí v oboch zoznamoch vysoko, nazbiera najvyššie celkové skóre. Keďže RRF je nezávislé od škály, odpadá akákoľvek normalizácia — to ho robí robustným a takmer bez parametrov.
Vážená fúzia skóre je alternatíva, keď chceme jednej modalite zámerne dať väčšiu váhu (napríklad 0,7 * dense + 0,3 * sparse). Nutne však predpokladá normalizáciu: oba zoznamy skóre treba najprv priviesť na spoločný rozsah (napr. Min-Max na nulu až jedna), kým ich lineárne skombinujeme. Je to mocnejšie, ale citlivejšie na tuning a drift korpusu.
Aspekt | Reciprocal Rank Fusion (RRF) | Vážená fúzia skóre |
|---|---|---|
Vstupná veličina | Len pozície v poradí | Surové skóre oboch retrieverov |
Nutná normalizácia | Nie | Áno (napr. Min-Max) |
Parametre | Jedna konštanta k (často 60) | Váhy na retriever + normalizácia |
Robustnosť | Vysoká, nezávislá od korpusu | Stredná, náchylná na tuning a drift |
Ovládateľnosť | Nízka (rovnocenná fúzia) | Vysoká (modalitu možno cielene vážiť) |
Odporúčanie | Default pre väčšinu setupov | Keď má jedna modalita preukázateľne dominovať |
Architektúra pipeline
Hybrid retrieval pipeline beží schematicky takto:
```
Query ──┬─► Dense Encoder ──► ANN-Index (HNSW) ──► top_n_dense
│
└─► Tokenizer ──────► BM25-Index ───────► top_n_sparse
│
Rank-Fusion (RRF / weighted) ◄────┘
→ unified top_k
```
V praxi nasleduje re-ranking: hybrid retrieval dodáva s vysokým recallom typicky 50 až 100 kandidátov (top_k = 50–100), cross-encoder reranker (napríklad Cohere Rerank, BGE-Reranker alebo DACH model Jina Reranker v2) hodnotí query a dokument spoločne a redukuje na najpresnejších päť až desať zásahov, ktoré idú do LLM. Cross-encodery sú presnejšie, ale pomalšie — preto bežia až po lacnom hybrid recalle.
Praktický príklad s číslami
Najrelevantnejší podložený dátový bod pochádza z Anthropic Contextual Retrieval (stav 09/2024). Prístup rozširuje práve hybridnú myšlienku: pred každý chunk sa pred embeddingom aj pred indexáciou BM25 predradí krátky, LLM generovaný kontextový hlavičkový text (Contextual Embeddings plus Contextual BM25).
- Contextual Embeddings samotné: chybovosť Top-20 retrievalu z 5,7 na 3,7 percenta — mínus 35 percent.
- Contextual Embeddings plus Contextual BM25 (teda hybrid): z 5,7 na 2,9 percenta — mínus 49 percent.
- Dodatočne reranking: na 1,9 percenta — mínus 67 percent.
Inak prečítané: samotné pridanie zložky BM25 ku kontextualizovanému dense retrievalu stláča chybovosť z 3,7 na 2,9 percenta — citeľný zisk recallu, ktorý by bez lexikálneho vyhľadávania nebol dosiahnuteľný. Indexácia pritom stála približne 1,02 amerického dolára na milión dokumentových tokenov s prompt cachingom (stav 09/2024). Tieto čísla sú vendor evaluáciou a treba ich tak aj čítať.
Druhý, nezávislý doklad: v benchmarku Agri-Query (arXiv:2508.18093, 2025) dosahuje hybrid retrieval v kombinácii s Gemini 2.5 Flash viac ako 85 percent accuracy naprieč viacerými jazykmi a výrazne prekonáva naivné long-context prompty. Hybrid Search tak nie je len trik na recall, ale súčasť odpovede na prebiehajúcu debatu „RAG verzus long-context“: hybrid RAG zostáva pre realistické, viacdielne dopyty nákladovo racionálnejšou a presnejšou architektúrou.
Tooling: Hybrid Search vo vektorovej DB
Stav 2026 podporujú všetky produkčne pripravené vektorové databázy Hybrid Search natívne alebo cez rozšírenie. Qdrant (Berlín) stavia na sparse vektoroch a BM42, Weaviate (Amsterdam) kombinuje BM25 s dense, Pinecone ponúka sparse-dense, Vespa a etablované vyhľadávacie stacky Elastic a OpenSearch spájajú klasický BM25 s kNN. pgvector dosahuje hybrid cez dodatočné rozšírenia BM25. Pre DACH projekty s nárokom na suverenitu sú Qdrant a Weaviate samozrejmými, EU-hostovanými možnosťami s granulárnym filtrovaním metadát — relevantné pre oddelenie mandantov podľa DSGVO.
Pre agentúry a B2B
Hybrid Search je páka, ktorou sa RAG prototyp stáva spoľahlivým produkčným riešením — najmä v odvetviach s katalógmi produktov, normami, spisovými značkami, tarifami alebo technickými manuálmi, kde sú presné pojmy obchodne kritické. Kto ako agentúra buduje RAG asistentov alebo znalostné portály pre DACH klientov, mal by hybrid retrieval s RRF plus re-ranking plánovať ako default, nie ako dodatočnú myšlienku. Blck Alpaca navrhuje a implementuje takéto retrieval pipeline EU-suverénne, od výberu nástrojov cez stratégiu fúzie až po RAGAS podporovanú evaluáciu. Ozvite sa nám, keď má váš RAG systém spoľahlivo nájsť tie správne dokumenty.
Často kladené otázky
Kedy Hybrid Search prekoná čisto vektorový RAG?
Čo je Reciprocal Rank Fusion (RRF)?
Prečo nemožno skóre BM25 a vektorov jednoducho sčítať?
Potrebujem po Hybrid Search ešte re-ranking?
Ktoré vektorové databázy podporujú Hybrid Search natívne?
Ísť hlbšie?
Získajte nové analýzy priamo do schránky – alebo sa pozrite, ako tieto poznatky nasadzujeme pre firmy.