AI-systemen Onderzoeksartikel

Wat is hybride zoeken? Twee indexen, één inspecteerbare treffer

Trefwoorden vangen de naam. Vectoren vangen de parafrase. De treffer moet je nog steeds openen.

Twee verschillende kaartenbakken die samenkomen bij één messing leeslamp, getypte kaarten en fotonegatieven
Twee indexen. Eén lamp. Je moet nog steeds kijken.

Direct antwoord

Hybride zoeken is retrieval die twee signalen over hetzelfde corpus draait, een sparse lexicale index zoals BM25 en een dense vectorindex, elk apart berekent en daarna de twee ranglijsten fuseert voordat het model schrijft. Lexicaal zoeken vangt exacte identifiers, foutcodes en zeldzame namen. Vectorzoeken vangt parafrase. Elk alleen laat een klasse eerlijke vragen vallen, en 'we hebben embeddings toegevoegd' is niet hybride. In GRAIN, de loop uit De RAG-engineer, zit hybride retrieval in Rank, en het ontslaat je niet van Inspect: kun je de aangeleverde passage niet openen, dan is de gefuseerde score versiering. De RAG-engineer is live. Deze pagina is de splitsing, niet de hele loop.

Zoek op “hybrid search RAG” en de eerste pagina staat vol leveranciers die embeddings een nieuwe naam hebben gegeven. De operatorversie is kleiner.

Hybride zoeken draait twee indexen over hetzelfde corpus. Een lexicale index, BM25 of een geleerd sparse model, scoort exacte termen. Een vectorindex scoort betekenis. Elk levert een eigen ranglijst. Die twee lijsten fuseer je, en pas daarna mag het model schrijven vanuit de treffers. In De RAG-engineer heet hetzelfde hybride retrieval.

Lexicaal zoeken is nog altijd hoe je een foutcode, een SKU, een eigennaam of een artikelnummer terugvindt. Zulke tokens zijn met opzet zeldzaam, en een embeddingmodel smeert ze uit. Vectorzoeken is nog altijd hoe je de alinea vindt die jouw woorden nooit gebruikte. Eerlijke vragen komen in beide vormen. Eén index kiest een kant en verliest de andere.

Geen “we hebben een vector store toegevoegd”, geen magische fusie

Een vector store zonder lexicaal pad is dense retrieval met een budget. Nuttig, en niet hybride.

Op trefwoorden zoeken en dezelfde treffers daarna met embeddings herordenen is een rerank, geen tweede index. Ook nuttig. Ook iets anders.

Fusie is leidingwerk. Reciprocal rank fusion negeert de ruwe scores en telt per document de omgekeerde rangen uit beide lijsten bij elkaar op. Scorenormalisatie zet de scores eerst op één schaal. De RAG-engineer houdt RRF aan als de veiligere standaard. Geen van beide bewijst dat de passage op het scherm de passage is die je in een geschil zou accepteren.

Waar het in GRAIN zit

GRAIN is Gather corpora, Rank and rerank, Assemble context, Inspect failures, Navigate freshness. Hybride retrieval is de eerste helft van Rank: twee signalen erin, één gefuseerde kandidatenlijst eruit, de reranker erna.

Het vervangt Assemble niet, want dat bepaalt wat er echt in het venster past. Het vervangt Inspect niet, want dat vraagt of de juiste chunk is opgehaald en gebruikt. Het vervangt Navigate niet, want dat vraagt of de passage nog actueel is. Sla je Inspect over omdat de gefuseerde score zelfverzekerd oogde, dan heb je een vloeiende misser gebouwd met meer wiskunde.

Een test voor deze week

Haal twintig echte zoekvragen uit je logs. Markeer de vragen waarvan je verwacht dat exacte termen winnen: identifiers, namen, codes. Draai ze door je huidige retriever en tel hoeveel daarvan in de top tien landen. Dat aantal is je argument voor hybride, nog voordat iemand over fusieparameters begint. Landen de exacte-termvragen al, dan is hybride niet je eerste probleem. Missen ze, dan haalt geen reranker een chunk terug die nooit in de kandidatenlijst heeft gestaan.

Twee pagina’s

Wat is RAG? bezit de methode. Wat is GRAIN? bezit de loop. Deze pagina is de Rank-splitsing.

De RAG-engineer is live. Je hebt de hardcover niet nodig om niet langer een vector-only demo als “hybride” uit te leveren.

Citeer deze pagina:Wat is hybride zoeken? Twee indexen, één inspecteerbare treffer.Len P. van der Hof. https://lenvanderhof.com/nl/blog/wat-is-hybride-zoeken/ ·

Begrippen

Bronnen

  1. GRAIN (begrippen)
  2. Wat is RAG?
  3. Wat is GRAIN?
  4. De RAG-engineer

Verder lezen

Markdown voor LLMs