Naar de inhoud

Retrieval-Augmented Generation (RAG)

Retrieval-Augmented Generation (RAG) is een techniek die taalmodellen (LLM's) kan helpen om relevante informatie te vinden in grote hoeveelheden data. In plaats van alleen te vertrouwen op wat het model ooit geleerd heeft, zoekt RAG eerst de juiste stukjes uit jouw eigen bronnen op en geeft die mee als context voor het antwoord.

Hoe werkt dat? Alle tekst wordt opgedeeld in kleine stukjes. Ieder stukje krijgt een soort vingerafdruk (in technische termen een "embedding"): een reeks getallen die de betekenis samenvat. Stukjes die qua betekenis op elkaar lijken, krijgen een vergelijkbare vingerafdruk en komen dicht bij elkaar te liggen.

Stel je een vraag, dan krijgt die vraag op dezelfde manier een vingerafdruk. We kijken welke stukjes het dichtst bij je vraag liggen. Hoe dichtbij iets ligt, meten we aan de hoek tussen de twee reeksen getallen: hoe kleiner de hoek, hoe meer ze qua betekenis op elkaar lijken. De best passende stukjes halen we op en geven we als context aan het model. Zo telt wat je bedoelt, niet of je exact dezelfde woorden kiest.

Probeer een voorbeeldvraag

Deze vragen gebruiken bewust andere woorden dan onze cases. RAG matcht op betekenis en vindt ze toch; BM25 zoekt op exacte trefwoorden en zou hier niets vinden.

Wat is het verschil tussen RAG en BM25?

De gewone zoekfunctie op deze site gebruikt BM25. Dat is een klassieke zoekmethode die naar exacte woorden kijkt: komt jouw zoekterm letterlijk in de tekst voor, en hoe zeldzaam is dat woord? BM25 weet niet dat "overheid" en "ministerie" familie van elkaar zijn. RAG kijkt naar betekenis en legt dat verband wel.

Voor onze eigen website is BM25 een bewuste keuze. De kennisbank is klein en zorgvuldig geschreven, en dan is exact zoeken snel, voorspelbaar en gratis. RAG laat zijn kracht zien zodra een kennisbank groot en rommelig wordt, waar je onmogelijk op exacte woorden kunt vertrouwen.

BM25 versus RAG in één oogopslagBM25 (onze zoekfunctie)RAG (deze demo)
Matcht opExacte trefwoordenBetekenis (embeddings)
Vindt synoniemen / parafrasesNeeJa
Snelheid & kostenZeer snel, geen model nodigEmbedding per query nodig
DeterministischVolledigGrotendeels
Sterkst bijKleine, gecureerde corpusGrote, ongestructureerde corpus

Wat is een knowledge graph?

Een knowledge graph legt kennis vast als een netwerk van knopen en verbindingen, in plaats van als losse documenten. Voor onze portfolio betekent dat: elke case is een knoop, verbonden met de klant, de sector, het domein en de gebruikte technieken. Verbanden die in een platte lijst onzichtbaar blijven, worden zo navigeerbaar.

Dat maakt vragen mogelijk als "welke cases delen dezelfde techniek?" of "wat hebben we eerder voor gemeenten gedaan?", zonder dat iemand die kruisverbanden vooraf met de hand heeft gelegd.

RAG en de knowledge graph zijn twee kanten van dezelfde medaille: doorzoekbaarheid en navigeerbaarheid van dezelfde onderliggende kennis. De assistent hierboven geeft een direct antwoord met bronnen; de graph hieronder laat het bredere landschap zien waarin dat antwoord past.

Hybride kennisgraaf: structurele metadata-verbanden gecombineerd met semantische gelijkenis tussen cases op basis van embeddings.

Zoom in en je ziet lijntjes tussen de bolletjes: elk lijntje is een verband, en de kleur verraadt welk soort. Je zet elke laag los aan of uit door op de namen te klikken: toont met grijze lijnen de structurele verbanden tussen cases met dezelfde klant, sector of domein. trekt blauwe lijnen tussen cases die qua betekenis op elkaar lijken, berekend met embeddings in plaats van trefwoorden. voegt de losse tekstfragmenten per case toe, met dunne grijze lijntjes naar hun case: de stukjes waarop de semantische zoekfunctie werkt. verschijnt zodra je een vraag stelt en verbindt die met witte lijnen aan de cases die er het dichtst bij liggen.

Spreiding

Verken het volledige netwerk in de interactieve case-graph: klik op een knoop om verbonden cases, sectoren en technieken uit te vouwen.

Probeer het zelf

Stel je vraag in gewone taal. We tonen de fragmenten uit onze cases en documentatie die qua betekenis het dichtst bij je vraag liggen, met hun gelijkenisscore.