Blog banner MSTR over RAG (retrievel augmented generation) binnen generative AI

Wat is Retrieval Augmented Generation, ook wel RAG?

Wat is Retrieval Augmented Generation, ook wel RAG?

Wat is Retrieval Augmented Generation, ook wel RAG?

Retrieval Augmented Generation (RAG) is een techniek om de nauwkeurigheid en betrouwbaarheid van generative AI modellen te verbeteren met data uit externe bronnen.

Uitleg aan de hand van een illustratie:

Om de nieuwste techniek (RAG) op het gebied van generatieve AI te begrijpen, moet je je een Nederlandse rechtbank voorstellen. 

Rechters nemen beslissingen gebaseerd op hun algemene begrip van de wet. Soms vereist een zaak, zoals een arbeidsgeschil of een belastingzaak, specifieke expertise. Daarom vragen rechters aan hun secretaris om jurisprudentie en specifieke gevallen op te zoeken in een juridische bibliotheek om hun vonnis te onderbouwen.

Net als een goede rechter kunnen large language models (LLM's) reageren op een breed scala aan menselijke vragen. Maar om diepgaande antwoorden te geven die bronnen citeren, heeft het model een assistent nodig die onderzoek doet.

In de AI-wereld is deze assistent een proces genaamd retrieval-augmented generation, oftewel RAG.

Wat is RAG in de context van generative AI?

RAG, oftewel retrieval augmented generation, is een techniek die de nauwkeurigheid en betrouwbaarheid van generative AI-modellen verbetert door relevante informatie uit externe bronnen toe te voegen.

Generative AI-modellen, zoals large language models (LLM's), zijn in wezen neurale netwerken die getraind zijn op enorme hoeveelheden tekst. Hierdoor hebben ze een algemeen begrip van taal en kunnen ze reageren op een breed scala aan vragen.

Door het beste van beide werelden te combineren - de algemene taalvaardigheden van LLM's en de specifieke kennis uit externe bronnen - kunnen RAG-systemen nauwkeurigere en betrouwbaardere antwoorden genereren op complexe vragen.

Het combineren van interne en externe kennis

RAG maakt het mogelijk voor AI-modellen om bronnen te vermelden, net zoals voetnoten in een onderzoeksrapport. Dit geeft gebruikers vertrouwen, omdat ze de beweringen van het model kunnen controleren. Deze techniek helpt ook om onduidelijkheden in vragen van gebruikers op te helderen en verkleint de kans dat een model een verkeerde output geeft, wat 'hallucinatie' wordt genoemd.

Met RAG hoef je een model niet opnieuw te trainen met extra datasets, wat het een relatief voordelige oplossing maakt. Bovendien kunnen gebruikers hiermee snel en eenvoudig schakelen tussen verschillende bronnen.

De geschiedenis van RAG

De geschiedenis van retrieval-augmented generation (RAG) gaat terug tot de vroege jaren '70. Toen ontwikkelden onderzoekers in informatie-opvraging de eerste vraag-antwoord systemen, applicaties die natural language processing (NLP) gebruikten om toegang te krijgen tot tekst. 

Door de jaren heen bleven de concepten achter deze vorm van tekstmining vrij constant, maar de machine learning engines die ze aandrijven zijn aanzienlijk gegroeid, wat hun bruikbaarheid en populariteit verhoogde.

Halverwege de jaren negentig maakte de Ask Jeeves-service (in de VS), nu Ask.com, het beantwoorden van vragen populair met de mascotte van een goedgeklede bediende. Vandaag de dag tillen LLM's deze systemen naar een geheel nieuw niveau.


Ask Jeeves, een vroege RAG-achtige webservice

Afbeelding van Ask Jeeves, een vroege RAG-achtige webservice

Hoe werkt Retrieval Augmented Generation?

RAG is een complex proces waar veel over gesproken wordt binnen het spectrum van generative AI. Maar hoe werkt het eigenlijk en waarvoor is het precies bedoeld? We leggen het in het drie stappen uit: Identificeren, Ophalen en Genereren.


Simpele uitleg RAG (Retrieval Augmented Generation)


  1. Identificeren: Alle externe documenten worden geïdentificeerd, zodat ze gemakkelijk toegankelijk zijn voor het AI-taalmodel.

  2. Ophalen: Op basis van de vraag haalt het AI-taalmodel de juiste documenten op die zijn geïdentificeerd op basis van specifieke vragen of sleutelwoorden.

  3. Genereren: Het AI-taalmodel combineert de informatie uit de opgehaalde documenten met zijn interne kennis om een accuraat antwoord te genereren.

Wanneer gebruikers een vraag stellen aan een AI-model, wordt de vraag eerst omgezet in een numerieke vorm, ook wel een 'embedding' of 'vector' genoemd. Dit is vergelijkbaar met het vertalen van de vraag in een taal die machines kunnen begrijpen.

Vervolgens zoekt het model in een grote verzameling informatie (een database) naar stukjes tekst die lijken op de numerieke vorm van de vraag. Deze database is ook omgezet in numerieke waarden, zodat het model snel en efficiënt kan zoeken naar relevante informatie.

Als het model een of meerdere relevante stukjes tekst vindt, haalt het deze op en combineert dit met zijn eigen kennis om een passend antwoord te formuleren. Het resultaat is een antwoord op de vraag van de gebruiker, mogelijk aangevuld met verwijzingen naar de gevonden informatie in de database.

Hoe kan je data veilig RAG implementeren?

Microsoft Azure biedt beveiligingsmaatregelen die ervoor zorgen dat jouw data tijdens elke fase van het RAG-proces beschermd blijft. Deze omgeving biedt dezelfde dataveiligheid die men verwacht van toepassingen zoals Outlook of Word, een standaard in het Nederlandse bedrijfsleven. Naast Microsoft Azure is het ook mogelijk om Pinecone of PG Vector te gebruiken als vectordatabase. Deze tools zijn toegankelijker dan Azure maar qua veiligheid en betrouwbaarheid een stuk minder.

Veel ontwikkelaars vinden LangChain, een open-source bibliotheek, bijzonder nuttig voor het aan elkaar koppelen van LLM's, embedding-modellen en kennisdatabases. De LangChain-gemeenschap biedt een eigen beschrijving van een RAG-proces

Tot slot

RAG biedt enorme kansen voor bedrijven om hun klantenservice, interne kennisdeling en besluitvorming te verbeteren. Door het combineren van krachtige taalmodellen met bedrijfsspecifieke informatie, kunnen organisaties 'Assistants' creëren die in staat zijn om diepgaande, accurate antwoorden te geven op complexe vragen. 

Voor bedrijven die overwegen om RAG te implementeren, is het essentieel om te investeren in een veilige en betrouwbare infrastructuur, zoals Microsoft Azure. Daarnaast is het aan te raden om te experimenteren met verschillende combinaties van taalmodellen en kennisdatabases om de beste resultaten te behalen voor jouw specifieke use case.

De mogelijkheden van RAG zijn eindeloos en we staan nog maar aan het begin van dit spannende tijdperk van AI-gedreven ontwikkelingen. Bedrijven die nu de stap zetten en RAG omarmen, zullen een belangrijke voorsprong hebben op hun concurrenten en beter in staat zijn om te voldoen aan de steeds hogere verwachtingen van klanten en medewerkers.

Author Silas Muiderman
Silas Muiderman

Co-founder