Hoe ga je aan de slag met Retrieval Augmented Generation?

Wat als je de kracht van grote taalmodellen zou kunnen combineren met kennis uit je eigen organisatie? Dat kan, dankzij Retrieval Augmented Generation (RAG). Maar hoe werkt RAG onder de motorkap? Hoe kun je zelf aan de slag met het ontwikkelen van een RAG? En zijn er al praktijkvoorbeelden waar je van kunt leren? In deze podcast gaat Jerrel Arkes in gesprek met Chief AI Architect Willem Meints en Area Lead Data & AI Niels Naglé.

In dit artikel belichten we een van de onderwerpen die zijn besproken: hoe implementeer je een RAG-systeem in je eigen organisatie?

 

1. Bepaal de use cases

De eerste en meest cruciale stap bij het implementeren van een RAG-systeem is het bepalen van de specifieke use case binnen je organisatie, aldus Willem: “Denk goed na over welke waarde een systeem moet opleveren. Waar kunnen we waarde toevoegen door bijvoorbeeld efficiëntie of kwaliteit te verbeteren?”

Een voorbeeld van een veelvoorkomende use case is het vastleggen van processen. Niels: “Processen verschillen heel veel per organisatie. Welke processen er zijn en hoe je die moet volgen om een bepaald doel te bereiken, dat ligt vaak vast in de documentatie. Het probleem is echter dat weinig mensen die documenten weten te vinden en goed in te zetten. Daar kan RAG een belangrijke rol in spelen.”

2. Kies voor custom GPT, SaaS, of custom RAG

Er zijn grofweg drie verschillende manieren om RAG in te zetten binnen een organisatie. De meest laagdrempelige optie is om gebruik te maken van een custom GPT op chatgpt.com van OpenAI of via Copilot studio van Microsoft. Hierbij upload je je eigen documenten en trainingsdata naar de servers van OpenAI of Azure, waarna je via een API toegang krijgt tot je eigen chatbot. Het voordeel hiervan is dat je snel kunt beginnen en niet zelf een infrastructuur hoeft op te zetten. Wel is het belangrijk om goed na te denken over de privacy en beveiliging van je data.

Een tweede optie is om te wachten tot er kant-en-klare SaaS-oplossingen op de markt komen die RAG-functionaliteit bieden. Naarmate de technologie meer volwassen wordt, zullen er ongetwijfeld aanbieders komen die een volledig beheerd RAG-platform aanbieden. Het voordeel hiervan is gemak: je hoeft zelf niets te bouwen of te beheren. Het nadeel is dat je minder controle hebt over de functionaliteit en minder ruimte voor maatwerk.

De derde en meest bewerkelijke optie is om zelf een custom RAG-systeem te ontwikkelen. Het ontwikkelen van een custom RAG-systeem geeft je de meeste flexibiliteit en controle, maar vereist wel de nodige technische expertise en staat tegenover dat je het systeem helemaal kunt optimaliseren voor jouw use case en dat je gevoelige data binnen je eigen omgeving kunt houden.

3. Verzamel en structureer data

In deze stap bepaal je welke informatie cruciaal is om een RAG-systeem nauwkeurige en relevante antwoorden te laten genereren. Dit kunnen interne documenten zijn, zoals productbeschrijvingen, FAQ’s en handleidingen, maar ook externe bronnen zoals wetenschappelijke artikelen of nieuwsberichten. Het is belangrijk om deze content goed te structureren en op te schonen, bijvoorbeeld door opmaak en metadata te verwijderen en een consistente terminologie te hanteren.

Vervolgens is het belangrijk om deze data te structureren. Niels: “Een RAG-systeem heeft wat hulp nodig om structuur aan te brengen in de ongestructureerde data die je in de vector database aanbiedt. Die structuur zit in de vectoren, die het systeem helpen om makkelijker uit te komen bij de juiste data die past bij de vraag of prompt.”

4. Train en optimaliseer het model

Nadat de data is verzameld en gestructureerd, is het tijd om het RAG-systeem de trainen en optimaliseren. Willen: “Finetunen van het model is belangrijk om de prestaties verder te verbeteren.”

Door zorgvuldig ontworpen prompts te gebruiken, kunt je het model sturen en de kwaliteit van de gegenereerde antwoorden verbeteren, aldus Willem: “Voordat een RAG-systeem in productie kan, is het verstandig om een testset van prompts en voorbeeldvragen in te voeren en de antwoorden te checken: in welk percentage van de gevallen geeft het systeem het goede antwoord? En als dat bijvoorbeeld in 90 procent van de gevallen is, hoe gaan we om met de risico’s van die laatste 10 procent? Wat moeten we nu nog doen in die andere gevallen waarbij het niet helemaal lekker gaat?”

5. Integreer en implementeer

De laatste stap in het proces is de integratie en implementatie van een RAG-systeem in bestaande bedrijfsprocessen en -systemen. Het doel is om een naadloze gebruikerservaring te creëren waarbij het RAG-systeem een natuurlijk onderdeel wordt van de dagelijkse workflow van medewerkers.

6. Monitor en beheer

Als een systeem eenmaal in gebruik is, kunnen de prestaties continu worden verbeterd aan de hand van gebruikersfeedback en data uit monitoring. Door regelmatig te evalueren hoe het model presteert en welke verbeterpunten er zijn, kun je voortdurend verfijningen aanbrengen en de output optimaliseren voor elke specifieke use case.

Lees ook deel 1 in deze serie: hoe werkt Retrieval Augmented Generation?

 

 

Kijk en luister de podcast