---
title: "Hybrid Search v RAG: ako správne kombinovať BM25 a vektorovú podobnosť"
description: "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)."
locale: "sk"
canonical: "https://blckalpaca.at/sk/vedomosti/ai-agenti/co-je-rag-system/hybrid-search-v-rag-ako-spravne-kombinovat-bm25-a-vector-similarity"
category: "AI agenti"
topic: "RAG systémy vysvetlené"
updated: "2026-10-17T15:32:45.051Z"
source: "Blck Alpaca e.U., blckalpaca.at"
---

# 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](https://blckalpaca.at/sk/slovnik/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](https://blckalpaca.at/sk/vedomosti/ai-agenti/co-je-rag-system) 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](https://blckalpaca.at/sk/slovnik/semanticke-vyhladavanie) 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](https://www.anthropic.com/news/contextual-retrieval): ak sa niekto pýta na chybový kód „TS-999“, [embedding](https://blckalpaca.at/sk/slovnik/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](https://blckalpaca.at/sk/vedomosti/ai-agenti/co-je-rag-system/reranking-modelle-rag) hodnotí dopyt a dokument spoločne a zúži výber na päť až desať najpresnejších výsledkov, ktoré idú do [LLM](https://blckalpaca.at/sk/slovnik/llm). Bežne používané modely sú Cohere Rerank, BGE-Reranker a [Jina Reranker v3](https://jina.ai/news/jina-reranker-v3-0-6b-listwise-reranker-for-sota-multilingual-retrieval/). Jeho poskytovateľ Jina [AI](https://blckalpaca.at/sk/slovnik/ai) [patrí od októbra 2025 spoločnosti Elastic](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx). 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](https://blckalpaca.at/sk/slovnik/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](https://dsgvo-gesetz.de/).

## 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](https://blckalpaca.at/sk/sluzby/integracia-ai-agenta) 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](https://blckalpaca.at/sk) navrhuje a implementuje takéto retrieval pipeline suverénne v rámci EÚ ako [Custom Enterprise Software](https://blckalpaca.at/sk/sluzby/riesenia-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.

## Často kladené otázky

### Kedy Hybrid Search prekoná čisto vektorový RAG?

Vždy, keď záleží na presných reťazcoch znakov: číslach produktov a katalógových číslach, chybových kódoch, paragrafoch, vlastných menách, tiketoch alebo názvoch funkcií v kóde. Dense embeddings takéto tokeny sémanticky vyhladzujú. Pri dopyte s chybovým kódom ako TS-999 môže čisto sémantické vyhľadávanie vrátiť všeobecný obsah o chybových kódoch a presný záznam minúť, zatiaľ čo BM25 hľadá presne tento reťazec znakov. Lexikálna zložka pomáha aj pri zriedkavých odborných pojmoch, ktoré sú v tréningovom korpuse embeddingov nedostatočne zastúpené.
### Čo je Reciprocal Rank Fusion (RRF)?

RRF je metóda fúzie, ktorá zlúči viacero zoznamov výsledkov do jedného spoločného poradia. Každý dokument dostane za každý zoznam skóre 1 delené (k plus pozícia v poradí) a tieto skóre sa sčítajú. Rozhodujúce je, že RRF využíva len pozíciu v poradí, nie surové skóre retrieverov. Odpadá tak náročná normalizácia medzi neporovnateľnými hodnotami BM25 a cosine similarity. Metóda sa preto považuje za robustnú a nenáročnú na parametre.
### Prečo nemožno skóre BM25 a vektorové skóre jednoducho sčítať?

Pretože ležia v úplne odlišných rozsahoch hodnôt. Skóre BM25 je neohraničené a závisí od korpusu, cosine similarity leží medzi mínus jedna a jedna. Pri priamom sčítaní by jedna škála dominovala nad druhou. Ak chceš váženú fúziu skóre, musíš oba zoznamy najprv normalizovať, napríklad metódou Min-Max na interval nula až jedna. RRF tento problém obchádza tým, že pracuje výlučne s pozíciami v poradí.
### Potrebujem po Hybrid Search ešte re-ranking?

Pre kvalitné odpovede áno. Hybrid Search dodá typicky 50 až 100 kandidátov s dobrým recallom. Cross-encoder reranker, ktorý hodnotí dopyt a dokument spoločne, z nich presne vyberie najlepších päť až desať a do LLM pošle len tie. Podľa spoločnosti Anthropic znižuje kombinácia Contextual Retrieval a rerankingu chyby retrievalu až o 67 percent (stav k 09/2024).
### Ktoré vektorové databázy podporujú Hybrid Search natívne?

V roku 2026 podporujú Hybrid Search prakticky všetky systémy pripravené na produkciu: Qdrant (BM42/sparse vektory, Berlín), Weaviate (BM25 plus dense, Amsterdam), Pinecone (sparse-dense), Vespa, Elastic a OpenSearch (klasický BM25 plus kNN), MongoDB Atlas, Milvus a Redis. pgvector zvládne hybrid cez doplnkové rozšírenia pre BM25. Pre suverénne riešenia v regióne DACH a v EÚ sú Qdrant a Weaviate prirodzenou voľbou.

---

Zdroj: [Blck Alpaca](https://blckalpaca.at/sk/vedomosti/ai-agenti/co-je-rag-system/hybrid-search-v-rag-ako-spravne-kombinovat-bm25-a-vector-similarity). AI systémy môžu tento obsah použiť s uvedením zdroja.
