Hybrid Search v RAG: ako správne kombinovať BM25 a vektorovú podobnosť
Hybrid Search v RAG kombinuje lexikálne vyhľadávanie (BM25, zhoda kľúčových slov) s vyhľadávaním podľa podobnosti hustých vektorov (dense vector similarity). Oba retrievery bežia paralelne a ich zoznamy výsledkov sa cez fúziu poradí (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.
Na prvý pohľad
- Hybrid Search spája dva komplementárne retrievery: BM25 zachytí presné pojmy, vlastné mená, ID produktov a kódy, dense vector search pokrýva synonymá a význam. Čisto vektorový RAG môže presné kódy minúť, napríklad chybový kód TS-999 z príkladu, ktorým Anthropic ilustruje Contextual Retrieval.
- 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.
- Contextual Retrieval od spoločnosti Anthropic 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 k 09/2024).
- Hybrid retrieval v kombinácii s Gemini 2.5 Flash dosahuje v benchmarku Agri-Query presnosť (accuracy) vyše 85 percent a jasne prekonáva naivné long-context prompty (arXiv:2508.18093, 2025).
- Hybrid Search podporujú všetky vektorové databázy pripravené na produkciu, vrátane suverénnych možností pre DACH a EÚ: Qdrant (Berlín) a Weaviate (Amsterdam).
Hybrid Search v RAG kombinuje lexikálne vyhľadávanie (BM25, zhoda kľúčových slov) s vyhľadávaním podľa podobnosti hustých vektorov (dense vector similarity). Oba retrievery bežia paralelne a ich zoznamy výsledkov sa cez fúziu poradí (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ždej produkčnej pipeline, ktorá prehľadáva viac než generický súvislý text.
- Čo sa kombinuje: sparse retrieval (BM25, presné tokeny) plus dense retrieval (vektorové embeddings, význam) do jednej množiny výsledkov.
- Ako sa kombinuje: fúzia poradí, 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ží na presných pojmoch, a merateľne zlepšuje recall.
Dva piliere: lexikálne verzus sémantické vyhľadávanie
BM25 (sparse / lexikálne). BM25 je osvedčený štandard fulltextového vyhľadávania. Algoritmus hodnotí dokumenty podľa presnej zhody termínov, zriedkavým pojmom dáva vyššiu váhu (inverse document frequency) a normalizuje podľa dĺžky dokumentu. BM25 je deterministický, rýchly, svojím mechanizmom nezávislý od jazyka a nepotrebuje inferenciu modelu. Jeho sila je zároveň jeho obmedzením: nájde len to, čo sa vyskytuje doslovne (resp. po tokenizácii a stemmingu). Synonymá, opisy a parafrázy mu unikajú.
Dense vector similarity (sémantické). Dense retrieval vloží dopyt (query) a dokument do toho istého vektorového priestoru a ich blízkosť meria najčastejšie cez cosine similarity. Približný index najbližších susedov (approximate nearest neighbor, 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 „oznámenie o skončení zmluvy“ sa ocitnú blízko seba, aj keď nemajú spoločné slová. Odvrátená strana: embeddings vyhladzujú presné reťazce znakov. Katalógové číslo, chybový kód alebo zriedkavo sa vyskytujúce vlastné meno sa v sémantickom priestore rozmaže.
Práve tu vzniká potreba kombinácie. Anthropic ukazuje tento problém na príklade vo svojom článku o Contextual Retrieval: ak sa niekto pýta na chybový kód „TS-999“, embedding model možno nájde obsah o chybových kódoch všeobecne, presnú zhodu však môže minúť. BM25 naopak hľadá presne tento reťazec znakov. Obe metódy zlyhávajú pri odlišných dopytoch, preto sa navzájom dopĺňajú.
Kedy hybrid prekoná klasický vektorový RAG
Hybrid Search nie je nutný pre každý korpus, v nasledujúcich prípadoch je však jasne lepší:
- Presné kódy a ID: čísla produktov, katalógové čísla a čísla objednávok, SKU, chybové a stavové kódy, referencie tiketov.
- Vlastné mená a odborné termíny: osoby, firmy, názvy produktov, paragrafy zákonov, 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á zhoda často dôležitejšia než význam.
- Zmiešané dopyty: prirodzený jazyk plus vložené presné tokeny („Ako opravím chybový kód TS-999?“).
Pri homogénnych, naratívnych textoch bez pevných identifikátorov môže stačiť čistý dense retrieval. Len čo však do hry vstúpia štruktúrované pojmy, čísla alebo regulovaná terminológia, a to je v bežnej B2B praxi pravidlom, vyhráva hybrid.
Fúzia: RRF, vážené skóre a problém normalizácie
Náročnou časťou nie je paralelné vyhľadávanie, ale zlúčenie výsledkov. Skóre BM25 a vektorové skóre majú neporovnateľné rozsahy hodnôt: skóre BM25 je neohraničené a závisí od korpusu, cosine similarity leží medzi mínus jedna a jedna. Ak ich jednoducho sčítaš, dominantnejšia škála prehluší všetko ostatné.
Reciprocal Rank Fusion (RRF) to rieši elegantne: ignoruje surové skóre a používa len pozície v poradí. Každý dokument dostane za každý zoznam výsledkov skóre podľa vzorca:
```
RRF_score(d) = súčet cez všetky zoznamy 1 / (k + poradie(d))
```
V tomto vzorci je poradie(d) 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ý je v oboch zoznamoch vysoko, získa najvyššie celkové skóre. Keďže RRF nezávisí od škály, odpadá akákoľvek normalizácia, vďaka čomu je metóda robustná a takmer bez parametrov.
Vážená fúzia skóre je alternatívou, ak chceš jednej modalite zámerne dať väčšiu váhu (napríklad 0,7 * dense + 0,3 * sparse). Nevyhnutne však predpokladá normalizáciu: oba zoznamy skóre treba najprv previesť na spoločný rozsah (napr. Min-Max na interval nula až jedna) a až potom ich lineárne kombinovať. Je to silnejší nástroj, ale citlivejší na ladenie parametrov 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 |
Potrebná normalizácia | Nie | Áno (napr. Min-Max) |
Parametre | Jedna konštanta k (často 60) | Váhy pre každý retriever + normalizácia |
Robustnosť | Vysoká, nezávislá od korpusu | Stredná, náchylná na ladenie a drift |
Ovládateľnosť | Nízka (rovnocenná fúzia) | Vysoká (modalitu možno cielene vážiť) |
Odporúčanie | Predvolená voľba pre väčšinu nasadení | Keď má jedna modalita preukázateľne dominovať |
Architektúra pipeline
Pipeline pre hybrid retrieval schematicky vyzerá 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 s vysokým recallom dodá typicky 50 až 100 kandidátov (top_k = 50–100), cross-encoder reranker hodnotí dopyt a dokument spoločne a zúži výber na päť až desať najpresnejších výsledkov, ktoré idú do LLM. Bežne používané modely sú Cohere Rerank, BGE-Reranker a Jina Reranker v3. Jeho poskytovateľ Jina AI patrí od októbra 2025 spoločnosti Elastic. Cross-encodery sú presnejšie, ale pomalšie, preto bežia až po lacnom hybridnom recalle.
Praktický príklad s číslami
Najrelevantnejší podložený údaj pochádza z Contextual Retrieval od spoločnosti Anthropic (stav k 09/2024). Tento prístup rozširuje práve myšlienku hybridu: každý chunk dostane pred embeddingom aj pred indexáciou v BM25 krátku kontextovú hlavičku vygenerovanú LLM (Contextual Embeddings plus Contextual BM25).
- Samotné Contextual Embeddings: chybovosť top-20 retrievalu klesla 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.
- Navyše reranking: na 1,9 percenta, mínus 67 percent.
Inak povedané: už samotné pridanie zložky BM25 ku kontextualizovanému dense retrievalu zníži chybovosť z 3,7 na 2,9 percenta. To je citeľný zisk v recalle, 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 tokenov dokumentov s prompt cachingom (stav k 09/2024). Tieto čísla pochádzajú z hodnotenia samotného dodávateľa a treba ich tak aj čítať.
Druhý, nezávislý dôkaz: v benchmarku Agri-Query (arXiv:2508.18093, 2025) dosahuje hybrid retrieval v kombinácii s Gemini 2.5 Flash presnosť (accuracy) vyše 85 percent naprieč viacerými jazykmi a jasne prekonáva naivné long-context prompty. Hybrid Search je tak aj argumentom v prebiehajúcej debate „RAG verzus long context“: hybridný RAG zostáva pre realistické, viacdielne dopyty nákladovo racionálnejšou a presnejšou architektúrou.
Nástroje: Hybrid Search vo vektorovej databáze
V roku 2026 podporujú Hybrid Search natívne alebo cez rozšírenie všetky vektorové databázy pripravené na produkciu. Qdrant (Berlín) stavia na sparse vektoroch a BM42, Weaviate (Amsterdam) kombinuje BM25 s dense vyhľadávaním, Pinecone ponúka sparse-dense, Vespa a zavedené vyhľadávacie stacky Elastic a OpenSearch spájajú klasický BM25 s kNN. pgvector dosiahne hybrid cez doplnkové rozšírenia pre BM25. Pre projekty v regióne DACH s nárokom na suverenitu sú Qdrant a Weaviate prirodzenou voľbou: hostujú sa v EÚ a ponúkajú granulárne filtrovanie metadát, ktoré je dôležité pre oddelenie tenantov (klientov) podľa GDPR.
Pre agentúry a B2B
Hybrid Search je nástroj, vďaka ktorému sa z RAG prototypu stane spoľahlivé produkčné riešenie, najmä v odvetviach s produktovými katalógmi, normami, spisovými značkami, tarifmi alebo technickými manuálmi, kde sú presné pojmy kritické pre podnikanie. Ak ako agentúra vyvíjaš asistentov na báze RAG alebo znalostné portály pre klientov z regiónu DACH, naplánuj hybrid retrieval s RRF a re-rankingom ako štandard, nie ako dodatočný nápad. Blck Alpaca navrhuje a implementuje takéto retrieval pipeline suverénne v rámci EÚ ako Custom Enterprise Software, od výberu nástrojov cez stratégiu fúzie až po evaluáciu s podporou RAGAS. Ozvi sa nám, ak má tvoj RAG systém spoľahlivo nachádzať správne dokumenty.
Otvorí chat s pripraveným promptom.
Č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é skóre 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.