Retrieval-augmented generation: hoe AI leert opzoeken in plaats van gokken
Stel iemand een moeilijke vraag tijdens een tentamen met gesloten boek. Die persoon moet volledig vertrouwen op wat hij uit zijn hoofd heeft geleerd, en als de herinnering vaag is, verzint hij soms iets dat aannemelijk klinkt maar niet klopt. Geef diezelfde persoon nu het studieboek erbij, zodat hij eerst het juiste hoofdstuk kan opzoeken voordat hij antwoord geeft. Dat is in essentie wat retrieval-augmented generation, meestal afgekort tot RAG, doet met taalmodellen zoals ChatGPT of Gemini: voordat het model een antwoord formuleert, zoekt het eerst relevante informatie op in een externe bron.
Grote taalmodellen worden getraind op enorme hoeveelheden tekst, maar die training stopt op een bepaald moment en het model kan zijn kennis niet zomaar bijwerken. Vraag je zo'n model naar iets dat na die trainingsdatum gebeurde, of naar bedrijfsinterne informatie die het nooit heeft gezien, dan gokt het model soms plausibel klinkende onzin bij elkaar, ook wel "hallucineren" genoemd. RAG lost dit deels op door het model tijdens het beantwoorden van een vraag automatisch te laten zoeken in een actuele, controleerbare bron zoals een database, een set documenten of het internet, en die opgehaalde informatie mee te geven als context. Het model verzint dan minder, omdat het iets heeft om op te bouwen.
Wat is het precies?
RAG combineert twee technieken die apart al bestonden: een retriever (zoeksysteem) en een generator (het taalmodel dat tekst schrijft). Het proces verloopt in een paar stappen.
Eerst wordt de bronbibliotheek voorbereid. Documenten, denk aan handleidingen, nieuwsartikelen of interne bedrijfsdocumenten, worden opgeknipt in kleinere stukken tekst, "chunks" genoemd, van meestal een paar honderd woorden. Elke chunk wordt met een zogeheten embeddingmodel omgezet in een lijst getallen, een vector, die de betekenis van de tekst wiskundig vastlegt. Teksten met een vergelijkbare betekenis krijgen vectoren die dicht bij elkaar liggen. Al die vectoren worden opgeslagen in een vectordatabase, een soort zoekindex die geoptimaliseerd is om snel de meest gelijkende vectoren te vinden.
Als een gebruiker vervolgens een vraag stelt, wordt ook die vraag omgezet in een vector. De vectordatabase zoekt de chunks die daar het meest op lijken, meestal een stuk of vijf tot twintig. Die tekstfragmenten worden samen met de oorspronkelijke vraag in de prompt van het taalmodel geplakt, met instructies om het antwoord te baseren op de aangeleverde tekst. Het model genereert dan een antwoord dat idealiter is onderbouwd met de opgehaalde informatie, en kan vaak ook de bron erbij vermelden zodat je het kunt controleren.
Het belangrijkste verschil met een alternatieve aanpak, fine-tuning, is dat je bij RAG het taalmodel zelf niet hoeft te hertrainen. Je past alleen de doorzoekbare bron aan: voeg een nieuw document toe aan de database en het model kan er meteen bij, zonder kostbare en tijdrovende hertraining. Dat maakt RAG relatief goedkoop en flexibel, al is de kwaliteit van het antwoord sterk afhankelijk van hoe goed de zoekstap de juiste informatie vindt.
Wat wil men ermee bereiken?
Het belangrijkste doel van RAG is het terugdringen van hallucinaties: het verzinnen van feiten door een taalmodel. Door het model te dwingen zich te baseren op teruggevonden brondocumenten, in plaats van louter op wat het "uit het hoofd" heeft onthouden, worden antwoorden vaker feitelijk correct en te verifiëren.
Een tweede doel is actualiteit. Een taalmodel dat is getraind tot, zeg, begin 2024 weet niets over gebeurtenissen daarna. Met RAG kan het model doorzoeken in een steeds bijgewerkte bron, zoals een nieuwsarchief of het live web, en zo actuele vragen beantwoorden zonder dat het model zelf opnieuw getraind hoeft te worden.
Daarnaast is er de wens om taalmodellen te laten werken met informatie die nooit publiek beschikbaar was, zoals interne bedrijfsdocumentatie, klantendossiers of wetenschappelijke datasets achter een betaalmuur. Bedrijven willen chatbots die vragen over hun eigen producten, contracten of procedures kunnen beantwoorden, zonder dat gevoelige data in het model zelf terechtkomt of publiekelijk gedeeld wordt tijdens training.
Tot slot speelt transparantie een rol: doordat RAG-antwoorden gekoppeld kunnen worden aan specifieke bronfragmenten, kan een gebruiker nagaan waar een bewering vandaan komt. Dat is vooral belangrijk in sectoren waar verifieerbaarheid cruciaal is, zoals recht, geneeskunde en journalistiek.
Voorbeelden uit de praktijk
De term RAG werd geïntroduceerd in 2020 door onderzoekers van Facebook AI Research (het huidige Meta AI), onder leiding van Patrick Lewis, in het paper "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks". Dit academische werk legde de basis voor de architectuur die nu overal wordt toegepast.
Microsoft bracht het idee grootschalig naar consumenten met Bing Chat, gelanceerd in februari 2023 en later hernoemd tot Copilot. Dit systeem combineert een groot taalmodel met de Bing-zoekindex: vragen worden eerst tegen het web gelegd, waarna het model een antwoord met voetnoten en bronvermeldingen opstelt.
Perplexity AI, opgericht in 2022, bouwde een volledige zoekmachine rond hetzelfde principe: iedere vraag triggert eerst een websearch, waarna een taalmodel een samenvattend antwoord met inline bronverwijzingen genereert.
In de juridische sector gebruikt het Amerikaanse bedrijf Harvey, dat sinds 2022 samenwerkt met het advocatenkantoor Allen & Overy (tegenwoordig, na een fusie, A&O Shearman), RAG om rechtsbronnen en interne dossiers te doorzoeken voordat het conceptteksten of analyses opstelt, wat het risico op verzonnen jurisprudentie moet verkleinen.
Ook op softwareniveau is RAG gemeengoed geworden: open source frameworks als LangChain en LlamaIndex, beide voor het eerst uitgebracht in 2022 en sindsdien breed geadopteerd, bieden kant-en-klare bouwstenen waarmee ontwikkelaars relatief eenvoudig hun eigen RAG-toepassing kunnen bouwen bovenop bestaande taalmodellen.
Hoe ver is de techniek?
RAG is inmiddels een volwassen en breed toegepaste techniek. Wat in 2020 nog een academisch experiment was, is sinds de doorbraak van ChatGPT eind 2022 in hoog tempo veranderd in een basisonderdeel van vrijwel elke serieuze bedrijfstoepassing van taalmodellen. Vrijwel alle grote cloudaanbieders bieden inmiddels kant-en-klare RAG-diensten aan.
Toch is de techniek niet perfect en blijft er actief onderzoek nodig. Een bekend probleem is dat de zoekstap soms de verkeerde of onvolledige fragmenten ophaalt, waardoor het model alsnog met een matig antwoord komt. Een ander probleem is dat taalmodellen bij lange, met opgehaalde tekst gevulde prompts niet altijd evenveel aandacht besteden aan alle informatie; onderzoekers noemen dit het "lost in the middle"-effect, waarbij details in het midden van een lange context makkelijker worden gemist dan informatie aan het begin of einde.
Er is ook zorg over beveiliging: als een taalmodel documenten uit een onbetrouwbare bron ophaalt, zoals een willekeurige website, kan die bron verborgen instructies bevatten die het model proberen te misleiden, een aanvalstechniek die bekendstaat als prompt injection. Dit is een actief onderzoeksgebied binnen AI-veiligheid.
Nieuwere varianten proberen deze zwaktes te verhelpen. Zo introduceerde Microsoft Research in 2024 "GraphRAG", waarbij informatie niet alleen als losse tekstfragmenten wordt opgeslagen maar ook als een kennisgraaf met relaties tussen entiteiten, wat vooral helpt bij vragen die meerdere documenten met elkaar moeten verbinden. Ook wordt er geëxperimenteerd met "agentische" RAG, waarbij het model zelf meerdere zoekrondes uitvoert en zijn eigen tussentijdse antwoorden controleert voordat het een definitief antwoord geeft. Naarmate taalmodellen grotere contextvensters krijgen, waardoor je meer tekst tegelijk kunt meegeven, verschuift de discussie soms naar de vraag of uitgebreide retrieval nog wel nodig is; in de praktijk blijft gerichte retrieval echter goedkoper en vaak nauwkeuriger dan alles domweg in de prompt proppen.
Wie werken eraan?
Meta AI (voorheen Facebook AI Research) geldt als bakermat van het concept en publiceert nog altijd onderzoek op dit vlak. Microsoft Research en het Bing/Copilot-team hebben de techniek naar een breed publiek gebracht en werken met GraphRAG aan verdere verbeteringen. Google DeepMind en Google Research passen vergelijkbare technieken toe in Gemini en zoekfuncties, en bieden via Google Cloud een eigen bedrijfsversie aan genaamd Vertex AI Search.
OpenAI heeft retrieval ingebouwd in zijn Assistants- en API-producten, waarmee ontwikkelaars eigen documenten kunnen laten doorzoeken door GPT-modellen. Daarnaast is er een levendige markt van gespecialiseerde vectordatabase-bedrijven die de zoekinfrastructuur voor RAG leveren, zoals Pinecone, Weaviate, Qdrant en Chroma, en frameworkbedrijven als LangChain Inc. en LlamaIndex die ontwikkelaarshulpmiddelen bouwen.
Op academisch vlak blijven universiteiten wereldwijd, van Stanford tot Europese onderzoeksgroepen, actief publiceren over betere retrieval-methoden en evaluatiemethoden. Ook in Nederland en de bredere EU experimenteren onderzoeksinstellingen en overheidsorganisaties met RAG om taalmodellen betrouwbaarder en beter controleerbaar te maken, mede met het oog op AI-regelgeving zoals de EU AI Act.