ID.nl logo
Stel vragen over je eigen data met RAG: zo werkt AI met jouw bronnen
© Pippin - stock.adobe.com
Huis

Stel vragen over je eigen data met RAG: zo werkt AI met jouw bronnen

Wanneer je een chatbot als ChatGPT of Copilot een vraag stelt, krijg je (hopelijk) een degelijk antwoord. Dit is mogelijk omdat deze AI-modellen zijn getraind met talloze tekstdata, zoals boeken, artikelen en websites. Maar je kunt zo’n model ook koppelen aan een eigen verzameling documenten en deze data dynamisch laten gebruiken.

In dit artikel laten we zien hoe je een AI-chatbot combineert met je eigen documenten om gerichte antwoorden te genereren:

  • Leer hoe RAG jouw documenten gebruikt om contextueel relevante antwoorden te geven
  • Gebruik NotebookLM van Google voor cloudgebaseerde documentanalyse en samenvattingen
  • Installeer en gebruik AnythingLLM lokaal voor volledige controle over je data
  • Ontdek alternatieven zoals Ollama en RAGflow voor geavanceerde lokale set-ups

Lees ook: Makkelijk switchen tussen AI-taalmodellen? Maak kennis met Jan

Dit artikel bespreekt oplossingen om eigen documenten als doorzoekbare database aan een AI-model te koppelen, zowel in de cloud (via NotebookLM) als lokaal (met tools als AnythingLLM en Ollama). Bij dit proces haalt een model eerst relevante informatie uit een specifieke externe bron of database op (retrieval) en gebruikt deze vervolgens om een contextueel antwoord te genereren (generation). Dit heet Retrieval-Augmented Generation, kortweg RAG.

Voor we concreet ingaan op de genoemde tools, leggen we kort uit hoe een AI-chatbot je prompts analyseert en op basis van getrainde kennis een relevant antwoord probeert te genereren. Daarna bekijken we hoe dit in een RAG-context verloopt.

1 LLM-dataverwerking

Veel mensen denken dat een AI-model zoals ChatGPT of andere Large Language Models (LLM’s) zoals Gemini, Grok, Llama of Claude bij een prompt direct een database van webpagina’s doorzoekt, een samenvatting maakt en die als antwoord teruggeeft. Afhankelijk van het model en je vraag kan er soms in live internetbronnen worden gezocht, maar doorgaans werkt dit proces fundamenteel anders.

In de trainingsfase leren LLM’s namelijk hoe woorden, zinnen en concepten samenhangen. Deze informatie wordt vervolgens opgesplitst in kleine woorddelen (tokens) en door een embedding-functie opgenomen (ingebed) als miljarden getallen, oftewel parameters, in één- of meerdimensionale tabellen, zoals vectoren en tensors.

Zo kan het woord ‘bank’, afhankelijk van de context, in een andere tabel belanden. Bij ‘Geld op een bank zetten’ wordt ‘bank’ gekoppeld aan financiële begrippen zoals ‘geld’ en ‘spaar’, terwijl ‘bank’ bij ‘Op een bank zitten’ aan huiselijke begrippen als ‘stoel’ en ‘zit’ wordt gelinkt. Deze structuur heet een transformer-model, en vandaar ‘GPT’: Generative Pre-trained Transformer.

Wanneer je nu een prompt invoert, zet de chatbot deze eerst om in vectoren die de contextuele betekenis weergeven. Deze worden vervolgens vergeleken met de LLM-parameters, waarna het model stapsgewijs de meest waarschijnlijke volgende tokens voorspelt. Uiteindelijk wordt deze tokenrij naar woorden omgezet en krijg je als gebruiker een antwoord terug.

De positionering van (een homoniem als) ‘bank’ in deze vector zal ook afhangen van de context.

2 RAG-dataverwerking

Wanneer je zelf databronnen toevoegt, zoals docx- of pdf-bestanden, of zelfs afbeeldingen, is het onrealistisch dat het LLM hiervoor opnieuw een trainingsfase doorloopt. Dit proces kost namelijk veel tijd en miljoenen euro’s. Daarom wordt gebruikgemaakt van technieken als RAG. Om RAG toe te passen, worden vectordatabases, zoals LanceDB en Pinecone, of document-retrievalsystemen, zoals Elasticsearch en Haystack, ingezet.

Bij vectordatabases worden tekstdata door de ingebouwde ‘embedder’ vooraf omgezet in vectoren, vergelijkbaar met een LLM. Deze vectoren worden opgeslagen in een database die doorzoekbaar is op basis van vectorovereenkomsten. Dit maakt ze geschikt voor contextueel en semantisch zoeken, veel meer dan met traditionele SQL-databanken mogelijk is.

Document-retrievalsystemen slaan de data als tekst op, vaak in gestructureerde velden, waardoor full-text search mogelijk is op basis van trefwoorden en tekstuele overeenkomsten. Deze systemen zijn meer geschikt voor exacte tekstopzoekingen.

Interessante achtergrondinformatie over vectordatabases en hun relatie tot LLM’s vind je onder meer hier.

Tekstdata worden door de ingebouwde embedder in een vectordatabase ondergebracht.

3 RAG-zoekopdrachten

Hoe verloopt een RAG-zoekproces over het algemeen? Eerst upload je alle gewenste documenten naar het systeem. De tekstdata worden daarna, via een lokaal (Ragflow, AnythingLLM) of cloudgebaseerd (NotebookLM) embedding-model, in kleine stukken verdeeld en in een vectordatabase opgeslagen, lokaal of in de cloud.

Wanneer je nu een prompt invoert, wordt deze eveneens door het embedding-model gevectoriseerd. De vectordatabase zoekt vervolgens naar relevante tekstfragmenten op basis van overeenkomsten, waarna de relevantste fragmenten worden opgehaald. Deze fragmenten worden nu gecombineerd met je originele prompt en samen naar het LLM-model gestuurd, lokaal of via een API(-sleutel) naar een cloudmodel als ChatGPT. Het gegenereerde antwoord wordt daarna teruggestuurd naar je systeem.

Draait het RAG-systeem lokaal, dan worden dus alleen de relevante fragmenten en je prompt naar de cloud gestuurd, tenzij ook de chatbot lokaal draait. In dit geval blijft alles lokaal. Je volledige documenten en de bijbehorende vectoren blijven hoe dan ook lokaal, tenzij het hele RAG-systeem in de cloud draait.

Een typisch RAG-scenario: de prompt en (alleen) de relevante data gaan naar het LLM-model.

Even appen?

Veel gebruikers weten niet dat je een AI-bot ook via WhatsApp kunt bevragen. Zo benader je ChatGPT via het telefoonnummer +1 800 2428478. Commerciële bedrijven als het Nederlandse The AI-Book Company hebben inmiddels een verdienmodel ontwikkeld waarbij AI-boeken via WhatsApp worden aangeboden.

De volledige inhoud van een specifiek boek wordt hierbij geüpload naar een document-retrievalsysteem, zoals Elasticsearch of een vectordatabase als LanceDB, en via API’s gekoppeld aan WhatsApp en een AI-chatbot als ChatGPT. Als geregistreerde gebruiker (wat meestal zo’n 10 euro kost) kun je dan via WhatsApp concrete vragen stellen aan het boek, waarna de chatbot de antwoorden genereert. Je hoeft het boek dus niet noodzakelijk zelf eerst (volledig) te lezen.

RAG-AI in de vorm van een WhatsApp-contactpersoon.

4 NotebookLM

Je weet nu ongeveer wat je met een RAG-systeem kunt en hoe dit onderliggend werkt. Hoog tijd nu om zo’n systeem aan de tand te voelen. We beginnen met een cloudgebaseerd RAG-systeem, Google NotebookLM, dat vooral geschikt is als privacy voor jou minder belangrijk is (al claimt Google je persoonsgegevens niet te gebruiken om NotebookLM te trainen).

Ga naar https://notebooklm.google en klik op de knop NotebookLM proberen. Meld je aan met een persoonlijk Google- of Google Workspace-account.

Je merkt dat er standaard al een notebook is aangemaakt: Introduction to NotebookLM. In het Bronnen-menu aan de linkerkant kun je zeven reeds toegevoegde documenten bekijken. Klik op een document voor een geautomatiseerde samenvatting en de belangrijkste aanklikbare onderwerpen. In het document NotebookLM Features lees je bijvoorbeeld welke documenttypes je kunt uploaden. Je kunt hierover open vragen stellen in het chatvenster, zoals: ‘Met welke types bronbestanden kan NotebookLM precies overweg?’ Het antwoord baseert zich grotendeels op tekstfragmenten uit dit document, zoals zichtbaar bij de genummerde bronverwijzingen.

De bot geeft bij de prompt netjes aan hoeveel bronnen hij kan raadplegen (zeven in dit geval). Stel je een vraag als ‘Is NotebookLM een Retrieval Augmented Generation-systeem (RAG)’, dan krijg je een gefundeerd antwoord met verwijzingen naar een of meer documenten, ook al wordt ‘RAG’ niet expliciet in deze documenten vermeld. NotebookLM vult namelijk antwoorden aan met eigen trainingsdata (van Gemini Pro in dit geval) wanneer dat zinvol is. Vragen die geen verband houden met je documenten blijven echter onbeantwoord.

Desnoods haalt NotebookLM aanvullende informatie uit de eigen trainingsdata op.

5 Bronnen toevoegen aan NotebookLM

We laten je zien hoe je een eigen notebook samenstelt. Een notebook kun je zien als een project dat uit meerdere documenten bestaat, vergelijkbaar met een map met bestanden. Klik op het pictogram linksboven om een overzicht van bestaande notebooks te zien. Kies hier + Nieuwe maken om documenten toe te voegen. Dit kunnen lokale bestanden zijn, zoals pdf’s, txt-bestanden en diverse audioformaten met spraak, maar ook documenten en presentaties uit Google Drive, links naar websites, publieke YouTube-video’s (met onderschriften) of tekst van het klembord. Per notebook kun je maximaal vijftig bronnen uploaden, elk tot 200 MB groot.

Audiobestanden worden automatisch intern getranscribeerd, zodat je er vragen over kunt stellen. Met de knop + Bron toevoegen voeg je meer bronnen toe aan een geselecteerd notebook. Met vinkjes bepaal je welke bronnen de dienst mag gebruiken bij vragen. Je kunt ook anderstalige documenten uploaden en in je voorkeurstaal, zoals Nederlands, vragen stellen en antwoorden ontvangen. De taalvoorkeur stel je in via de instellingen van je Google Account.

Ook anderstalige bronnen (rechts: een pdf in Adobe Reader) kun je meteen bestuderen en bevragen in je eigen taal.

6 Speciale notities in NotebookLM

Wil je antwoorden bewaren, klik dan op Notitie toevoegen. De notitie wordt opgeslagen onderaan het rechterdeelvenster Studio. Hier vind je ook nog allerlei andere knoppen:

  • Veelgesteldevragen genereert een nieuwe notitie met korte vragen over de geselecteerde bronnen, inclusief antwoorden.

  • Studiemateriaal deelt je bronmateriaal op in een glossarium, korte quizvragen met antwoorden en complexere essayvragen.

  • Overzichtsdocument toont de belangrijkste feiten en inzichten uit je bronnen, inclusief een korte inhoud, kernpunten, relevante citaten en een conclusie.

  • Tijdlijn geeft een chronologische lijst met belangrijke feiten, gebeurtenissen en eventueel betrokken personages.

  • Audio-overzicht zet bronmateriaal om in een podcast-achtige Engelstalige conversatie, die als wav-bestand te downloaden is (en die je, indien gewenst, naar bijvoorbeeld mp3 kunt omzetten, zoals met het gratis Shutter Encoder). Het zou ons weinig verbazen als dit (in de Plus-versie?) binnenkort bijvoorbeeld ook in het Nederlands kan, met je eigen stem.

Je kunt notebooks delen met andere Google-gebruikers als Kijker of Bewerker, maar je kunt op elk moment ook weer de toegang intrekken. Wie NotebookLM in Pro gebruikt, kan de chatresponses verder bijsturen en meer notebooks, bronnen, vragen en overzichten maken. Dit abonnement biedt tot 500 notebooks, elk met maximaal 300 bronnen, en dagelijks 500 chatvragen en 20 audio-overzichten (meer informatie vind je hier).

Van een tijdlijn over studiemateriaal tot een heuse podcast met slechts enkele muisklikken.

7 Cloud versus lokaal

Tools als NotebookLM zijn bijzonder nuttig voor het bestuderen, analyseren en kritisch bevragen van zowel tekst- als audiobronnen. Een nadeel is dat je bronnen naar de cloud moet uploaden. Dat kan onhandig en tijdrovend zijn en vormt altijd een risico voor de privacy, ook al zegt Google deze data niet voor trainingsdoeleinden te gebruiken.

Met de juiste tools kun je dit proces ook deels of volledig lokaal uitvoeren, zodat er weinig tot geen data online komen. Een geschikte oplossing is de gratis tool AnythingLLM, een opensource-framework waarmee je LLM’s kunt beheren en gebruiken, zowel in de cloud (meestal via API’s) als lokaal. Je kunt het systeem bovendien uitbreiden met eigen data via RAG.

Het hele systeem van AnythingLLM kan ook in de cloud worden gehost. Zo’n gehoste oplossing kost ongeveer 50 dollar (ca. 48 euro) per maand voor vier gebruikers en honderd documenten) of 99 dollar (ca. 95 euro) per maand voor grotere teams of databibliotheken.

Wil je volledige controle, dan kun je zowel dataopslag, embedder, vectordatabase als het LLM-model lokaal draaien. Hosting kan op een eigen pc of server, bijvoorbeeld als uitvoerbare applicatie voor Windows, macOS of Linux. In Linux gebruik je bijvoorbeeld dit commando:

curl -fsSL https://cdn.useanything.com/latest/installer.sh | sh

Een andere optie is om een dockercontainer te gebruiken voor een meer geïsoleerde en schaalbare omgeving.

AnythingLLM laat zich makkelijk installeren voor diverse platformen.

8 AnythingLLM

We tonen hier hoe je met de desktopapplicatie (versie 1.7.2 in ons geval) voor Windows (x64) aan de slag kunt. Je installeert deze suite met diverse AI-tools via het uitvoerbare bestand in slechts een paar muisklikken, waarna de suite direct klaar is voor gebruik. De systeemeisen hangen af van wat je wilt doen, zoals het gebruik van een lokale embedder, vectordatabase en/of LLM. Officieel zijn 2 GB geheugen, een dualcore-cpu en 5 GB opslagruimte toereikend, maar dit zijn absolute minimumwaarden, geschikt als je vooral externe diensten (zoals in de cloud) gebruikt.

Bij de eerste keer opstarten van AnythingLLM klik je op Get started. Je selecteert vervolgens een geschikte LLM-provider voor het genereren van responses op basis van je prompts en meegestuurde tekstfragmenten. Standaard wordt hier AnythingLLM voorgesteld, die onderliggend Ollama gebruikt (zie het kader 'Ollama en RAGflow’). Kies uit de veertien voorgestelde LLM’s, met onder meer modellen van Meta, Microsoft, Google en Mistral. De meeste zijn tekstmodellen, maar een paar zijn multimodaal en ondersteunen in principe ook afbeeldingen. Bij elk model staat een GB-waarde die aangeeft hoeveel geheugen nodig is (bij voorkeur VRAM van de gpu). Laat je keuze mede hierdoor bepalen. Selecteer een model zodat de aanduiding Active verschijnt en druk op de rechterpijlknop.

Je kiest zelf de LLM die je binnen je werkruimte in AnythingLLM wilt gebruiken: lokaal of extern.

Ollama en RAGflow

AnythingLLM profileert zich als een alles-in-één AI-applicatie, maar je kunt ook kiezen voor een handmatigere aanpak. Een combinatie van Ollama en een tool als RAGflow is een bruikbaar alternatief. Deze opzet vereist wel meer configuratie, maar RAGflow biedt meer opties voor finetuning.

Ollama (beschikbaar voor Windows, macOS en Linux) stelt je in staat om LLM’s lokaal te draaien of via API’s met cloudgebaseerde LLM’s te verbinden. Wil je zelf de locatie van de gedownloade LLM’s bepalen, maak dan in Windows een omgevingsvariabele aan: OLLAMA_MODELS=<pad_naar_downloadmap>. Op www.ollama.com/search kun je nu een LLM kiezen en het bijbehorende opdrachtregelcommando vinden, bijvoorbeeld ollama run llama3.2:1b. Je kunt je chatprompts meteen op de bijbehorende prompt invoeren.

RAGflow installeer je op Windows het eenvoudigst via Docker Desktop, nadat je WSL2 hebt geïnstalleerd (met het commando wsl --install). Download het zip-archief van RAGflow (druk op Code en Download ZIP). Raadpleeg de Readme voor meer details. Navigeer naar de uitgepakte map en voer hier dit commando uit:

docker compose -f docker/docker-compose.yml up

De container wordt nu toegevoegd in Docker Desktop. Zorg dat de container is gestart en open de webinterface van RAGflow via localhost:80 voor verdere configuratie, na je aanmelding. Bij Model Providers kun je nu Ollama selecteren en uit een van de gedownloade LLM’s kiezen.

RAGflow met Ollama: een sterk duo, maar wel wat set-up- en configuratiewerk.

9 Werkruimtes

Je komt op een overzichtspagina terecht waar je naast de gekozen LLM (in dit voorbeeld AnythingLLM x Ollama) ook de standaard geselecteerde embedder (Anything LLMEmbedder) en de vectordatabase (LanceDB) ziet. AnythingLLM kiest bewust voor lokaal werkende oplossingen om je privacy te beschermen. Je kunt deze instellingen later wijzigen, maar bevestig nu met de rechterpijlknop. Klik eventueel op Skip Survey en vul de naam in van je eerste werkruimte. Een werkruimte functioneert als container voor documenten en gesprekken rond een specifiek thema of project, zodat je gestructureerd kunt werken.

Nadat je op de rechterpijlknop hebt gedrukt, verschijnt het hoofdvenster van AnythingLLM: links zie je de werkruimtes en rechts een welkomstvenster. Via de knop + NieuweWerkruimte kun je extra werkruimtes aanmaken. Een naam geven is voldoende, omdat nieuwe werkruimtes standaard de net ingestelde algemene instellingen overnemen.

Klik op het tandwielpictogram bij een werkruimte. Op het tabblad Algemene instellingen kun je de naam wijzigen of de werkruimte verwijderen. Weet wel dat alles wat je embed in de vectordatabase van toegevoegde bronbestanden verdwijnt bij verwijdering. De bronbestanden zelf blijven behouden.

Je kunt werkruimtes maken, benoemen en ook weer verwijderen.

10 Bronbestanden

Je voegt bronbestanden als volgt aan je werkruimte toe. Klik vanuit het hoofdvenster op de uploadpijl naast de werkruimte. Er opent een dialoogvenster met twee knoppen: Documents en Data Connectors. Via Documents kun je diverse bestandstypes uploaden, zoals txt-, pdf-, csv- en xls(x)-bestanden, of ze direct verslepen naar het venster. Deze bestanden worden door de ingebouwde document-processor geanalyseerd (waarbij ze worden opgesplitst in brokken (chunks) van een instelbaar aantal tokens) en vervolgens in het deelvenster My Documents geplaatst. Documenten die je eerder in andere werkruimtes hebt toegevoegd, zijn hier ook beschikbaar (met de indicatie Cached). Je kunt ook naar webpagina’s of online documenten verwijzen door de url in te voeren en op Fetch website te klikken. Toegevoegde documenten worden standaard geplaatst in de map custom-documents, maar je kunt ze ook organiseren in nieuwe mappen via + NewFolder.

Selecteer documenten die je wilt gebruiken in de werkruimte en klik op Move to Workspace. Controleer ook de knop Data Connectors. Hiermee kun je (online) documenten ophalen via diensten als GitHub Repo, GitLab Repo en Confluence, of zelfs YouTube-transcripts en webpagina’s via Bulk Link Scraper. Bij deze scraper vul je een url in, plus de gewenste linkdiepte en het maximaal aantal te lezen pagina’s. Deze gegevens worden dan eveneens aan je documenten toegevoegd.

Bevestig met Save and embed om de documenten in de vectordatabase te embedden. Dit proces kan, afhankelijk van de hoeveelheid data, wel even duren.

Voeg alle gewenste bronbestanden (zoals documenten of webpagina’s) toe aan het systeem.

11 Chatomgeving

In het hoofdvenster open je de gewenste werkruimte. Standaard is er al één thread actief (Default): een conversatie tussen jou en de LLM. Je kunt extra threads aanmaken via + New Thread. Voer je prompts in en de LLM geeft (hopelijk relevante) antwoorden op basis van de doorgestuurde tekstfragmenten. Klik op Show Citations om te zien welke bronnen zijn gebruikt. Door op een bron te klikken, zie je de specifieke tekstfragmenten. Je kunt prompts ook inspreken (microfoon-pictogram) en de antwoorden laten voorlezen (luidspreker-pictogram).

Daarnaast zie je een paperclip-pictogram voor het ad hoc uploaden van extra documenten en een pictogram voor slash-commando’s en agents. Het standaard beschikbare slash-commando is /reset, waarmee je je chatgeschiedenis wist en een nieuwe sessie start. Voeg via Add aNew Preset eigen commando’s toe, zoals /vertaal met een prompt als ‘Vertaal het zojuist gegeven antwoord naar het Engels’ en Engelse vertaling als beschrijving. Deze commando’s komen automatisch ook beschikbaar in je andere threads en werkruimtes.

Overigens kun je je chatgeschiedenis (van alle werkruimtes) ook bekijken, exporteren en verwijderen via het moersleutel-pictogram, in de categorie Beheerder / Werkruimte Chats.

Slash-commando’s: handig voor vaak gebruikte prompts.

12 Agents

Agents functioneren als autonome modules die AI-modellen gebruiken om specifieke taken zelfstandig uit te voeren, zoals informatie verwerken of acties uitvoeren op basis van ingestelde parameters. Klik op het moersleutel-pictogram linksonder (Open settings) en navigeer naar Agent Vaardigheden. Hier vind je standaard zeven geïntegreerde agents, waarvan je er vier kunt in- of uitschakelen, zoals Generate charts en WebSearch.

We nemen deze laatste als voorbeeld. Activeer deze, selecteer een SERP (Search Engine Results Provider), bijvoorbeeld DuckDuckGo (bij sommige moet je wel nog een API-sleutel invullen). Bevestig met Save. Laat nu in de chatomgeving je prompts voorafgaan door @agent om automatisch geactiveerde en relevante agents op te roepen. Zo kan de agent actuele informatie van internet ophalen, waarbij standaard tot tien zoekresultaten worden verwerkt.

Verwant aan agents zijn de ‘agent skills’. Open de rubriek Community Hub en ga naar Explore Trending. Klik bij een skill op Import en bevestig met Import Agent Skill. Ga daarna terug naar Agent Vaardigheden, waar de skill is toegevoegd. Schakel de skill in om deze beschikbaar te maken.

Met en zonder zoekopdrachten op het web: een merkbaar verschil.

13 Instellingen

Via Open settings kun je op algemeen niveau diverse onderdelen aanpassen. In de categorie AI Providers wijzig je bijvoorbeeld de LLM, Vector Database en Inbedder, zoals een cloudgebaseerde dienst als OpenAI, Pinecone of Gemini. Voor veel opties is een API-sleutel vereist, die vaak niet gratis is. Je stelt hier ook spraak-naar-tekst- (standaard: LocalWhisper) en tekst-naar-spraak-providers in. Voor tekst-naar-spraak is standaard de lokale provider PiperTTS ingesteld, maar je kunt bijvoorbeeld ook een bekende dienst als ElevenLabs kiezen (met API).

Bij Aanpassing stel je het thema, de taal en de automatische berichten voor gebruikers in. Deze instellingen gelden standaard voor alle werkruimtes, maar kunnen op werkruimteniveau worden overschreven. Klik op het tandwielpictogram naast een werkruimte om deze opties aan te passen.

In het tabblad Chat Instellingen kies je een specifieke LLM Provider of stel je de Chatmodus in. Standaard staat dit op Chat, maar met de optie Query gebruikt het systeem uitsluitend je eigen documentcontext voor responses, zonder de getrainde dataset van de LLM te raadplegen. Hier bepaal je ook hoeveel eerdere chats worden meegenomen (standaard 20) en met welke achterliggende prompt de werkruimte rekening moet houden.

Op het tabblad Agent Configuratie kun je agenten en skills selecteren die specifiek voor deze werkruimte gelden. Bevestig alle aanpassingen telkens met de voorziene knoppen.

Je kunt ook instellingen vastleggen die specifiek zijn voor de geselecteerde werkruimte.

▼ Volgende artikel
AI-agents: zo laat je slimme digitale assistenten zelfstandig taken uitvoeren
© Anwar - stock.adobe.com
Huis

AI-agents: zo laat je slimme digitale assistenten zelfstandig taken uitvoeren

We vinden het intussen al bijna normaal dat generatieve AI-modellen leuke tekeningen kunnen maken en teksten kunnen schrijven. Maar de AI-evolutie staat niet stil: er verschijnen steeds krachtigere AI-agents op die zelfstandig ook diverse taken kunnen aanpakken. Hoe je ze zelf gebruikt of bouwt, lees je in dit artikel.

In het kort

We leggen uit wat AI-agents precies zijn, hoe ze werken en waarin ze verschillen van gewone AI-assistenten. Je ziet voorbeelden van praktische agents die reizen plannen, data analyseren of documenten samenvatten. We bekijken toegankelijke platforms zoals Manus en AgentGPT, maar ook verzamelingen van kant-en-klare agents en tools om zelf een agent te bouwen. Tot slot krijg je inzicht in de voordelen, valkuilen en toekomstige ontwikkelingen van deze technologie.

Lees ook: Chat je met een mens of een AI-bot? 9 manieren om het te testen

Het begrip 'AI-agent' komt misschien wat verwarrend over omdat 'agent' vaak met ordehandhaving of spionage wordt geassocieerd, maar hier betekent het iets heel anders. In de informatica verwijst de term naar een entiteit die namens iemand anders handelt, afgeleid van het Latijnse agere (handelen). Je kunt het vergelijken met een reisagent die taken uitvoert in opdracht van zijn klant.

Een agent is hier een systeem dat autonoom handelt, vaak in opdracht van een gebruiker, om bepaalde en soms complexe taken uit te voeren. Zo zou je een robotstofzuiger een fysieke agent kunnen noemen: hij ziet obstakels, beslist waar hij rijdt en voert deze actie uit. Een e-mailbot is een virtuele agent: hij leest je mails, classificeert ze en beantwoordt bepaalde mails automatisch.

Een AI-agent gaat nog een stap verder en gebruikt kunstmatige intelligentie om beslissingen te nemen – iets wat sommige robotstofzuigers of e-mailbots inmiddels trouwens ook wel doen. Hiervoor gebruikt men ook wel de term 'agentic AI'.

©iRobot

Een robotstofzuiger kun je een fysieke agent noemen.

Werking

Voordat we een paar voorbeelden van een AI-agent bekijken en ook zelf samenstellen, leggen we kort uit hoe zo'n agent werkt. In een eerste fase neemt de agent zijn omgeving waar. Dat kan via visuele input van afbeeldingen of camera's, geluidsdata van een microfoon of spraakopname, numerieke data uit logs of sensors, of via tekst zoals prompts, mail- of chatberichten.

De agent probeert vervolgens deze ruwe invoer te interpreteren. Bij tekst bijvoorbeeld gebeurt dit doorgaans met een groot taalmodel (Large Language Model, kortweg LLM), een deep-learning-systeem dat natuurlijke taal begrijpt en genereert, zoals ChatGPT, Claude of Gemini. Dankzij zo'n LLM kan de agent doelen begrijpen en indien nodig ook opsplitsen in subtaken. Als een taak beperkt blijft tot tekstgeneratie, zoals het beantwoorden van een bericht, volstaat het LLM. Maar vaak zijn er ook externe tools nodig (zogeheten tool calling) om aanvullende of realtime gegevens op te halen of (sub)taken uit te voeren, bijvoorbeeld via API's, zoals voor weerinformatie, databases of andere AI-modellen.

Met een efficiënt geheugensysteem kan de agent tijdens het uitvoeren van taken de resultaten bijhouden, feedback verwerken en daaruit nieuwe subtaken afleiden. Hij kan deze informatie ook bewaren, wat ook bij latere interacties voor meer consistentie zorgt.

Voor- en nadelen

Geoptimaliseerde AI-agents bieden duidelijke voordelen. Ze verhogen vaak de productiviteit doordat ze repetitieve en tijdrovende taken kunnen overnemen. Daarnaast verwerken ze in korte tijd enorme hoeveelheden data en kunnen ze meerdere (sub)taken tegelijk uitvoeren. AI-agents leveren doorgaans nauwkeurige en consistente resultaten en zijn goed schaalbaar. Mits goed geïntegreerd in de workflow, kunnen ze dus flink wat tijd en kosten besparen.

Tegelijk zijn er wel wat dingen waar je op moet letten. AI-agents zijn namelijk vaak afhankelijk van grote hoeveelheden data, waaronder soms privacygevoelige of bedrijfsinformatie. Houd bijvoorbeeld in een bedrijfscontext dus rekening met richtlijnen als de AVG (Algemene Verordening Gegevensbescherming). En omdat veel agents werken met LLM's die getraind zijn op grote hoeveelheden tekst waarin ook vooroordelen en stereotypen voorkomen, kunnen zulke vertekeningen onbewust doorsijpelen in de resultaten en leiden tot discriminerende uitkomsten. Tot slot vraagt het ontwikkelen en trainen van zulke (bedrijfs)systemen de nodige tijd en rekenkracht.

Voor je het goed beseft, kunnen AI-agents ook privacygevoelige data verwerken en is de AVG van kracht.

Van assistent tot agent

Agentic AI is momenteel een actueel onderwerp, waardoor producenten hun AI-oplossingen soms als AI-agents presenteren, terwijl het om eenvoudige(re) AI-assistenten gaat. Dit geldt bijvoorbeeld voor de browserextensie HARPA AI. Na installatie kun je via een knop taken laten uitvoeren op basis van de actuele webpagina en eventueel geüploade afbeeldingen of pdf's. Denk aan uitleg geven, vragen beantwoorden, de pagina samenvatten of herschrijven, data uitlichten en meer.

Handig, maar het is geen autonome agent. HARPA AI voert namelijk alleen taken uit die jij expliciet opgeeft, zonder zelf subdoelen te stellen of complexe workflows te volgen. Er is evenmin sprake van zelfevaluatie of contextopbouw over meerdere stappen. HARPA AI biedt ook een browser-functie (bijvoorbeeld via de opdrachtprompt met een API-sleutel) die enige automatisering en externe aansturing mogelijk maakt, maar dat maakt het nog geen volwaardige AI-agent.

Het onderscheid tussen beide begrippen is evenwel niet altijd duidelijk, vooral niet wanneer de operaties voornamelijk in een 'black box' worden uitgevoerd.

Manus

AI-agents kunnen dus goed bruikbaar zijn in bedrijfsomgevingen, maar ook daarbuiten kun je er je voordeel mee doen. Ga bijvoorbeeld naar www.manus.im (van Chinese origine) en klik op Use cases voor een reeks praktijkvoorbeelden, ingedeeld in rubrieken als Life, Data Analysis en Education. Zo kan deze algemene AI-agent je bijvoorbeeld helpen bij het opstellen van een cursus of het plannen van een reis. Het voorbeeld Trip to Japan in april (in de rubriek Featured) laat dit duidelijk zien. Klik hierop om het volledige proces te kunnen volgen: links de uitvoer, rechts het scherm van de agent. Je kunt ook altijd klikken op Skip to results of Watch again.

Wil je Manus ook zelf proberen, dan kun je met een gratis proefversie met duizend credits aan de slag, na goedkeuring van je aanvraag (de betaalde versie start vanaf 19 dollar per maand, dat is ongeveer 20 euro inclusief btw). We merkten dat zo'n goedkeuring sneller verloopt via de mobiele Manus-app.

Voor de eindgebruiker is het hele proces vrij eenvoudig. Zoals bij een gewone AI-chatbot geef je eerst een uitgebreide prompt met je opdracht. Daarna gaat Manus aan de slag en zie je stap voor stap hoe de taak wordt aangepakt. Je kunt dit proces ook in realtime bijsturen met extra informatie of instructies. Is de hoofdtaak voltooid, dan krijg je een melding, tenzij je credits eerder op zijn of de agent vastloopt op bijvoorbeeld een niet-bereikbare webpagina.

Op onze vraag heeft Manus een veertiendaagse gezinsreis naar Namibië uitgewerkt.

AI-reis naar tevredenheid uitgewerkt?

🧳Dan hoef je zelf alleen nog maar je koffers te pakken!

AgentGPT

Ook met AgentGPT kun je op een toegankelijke manier toe, ook gratis, een AI-agent in je browser gebruiken. Het platform is een gebruiksvriendelijke webinterface (geïnspireerd op Auto-GPT), waarmee je een opdracht kunt lanceren voor een autonome agent die meerdere stappen zelf bedenkt en uitvoert.

Je hoeft enkel een naam voor je agent in te vullen en bij Doel een duidelijke opdracht te schrijven, zoals 'Plan een veertiendaagse rondreis met 4x4 in Namibië' of 'Voer een onderzoek uit naar de duurzaamste bouwmaterialen in Nederland'.

Controleer bij Tools of de benodigde functies zijn ingeschakeld: Image (voor AI-beelden), Search (voor online opzoekwerk), Code (voor scripting) en Connect Your Data. Deze laatste biedt via een account bij SID, een vorm van Retrieval Augmented Generation (RAG), waarbij eigen gegevens van bijvoorbeeld Google Drive of Gmail kunnen worden verwerkt en doorzocht.

Bevestig met de blauwe afspeelknop en de agent gaat meteen aan de slag. Je kunt de deeltaken volgen, pauzeren en via een prompt het proces bijsturen. De kans bestaat dat de agent niet alle stappen voltooit met een gratis account, maar via Summarize kun je wel alvast een tussentijds resultaat bekijken. Voor een uitgebreider abonnement betaal je 40 dollar per maand (ongeveer 43 euro inclusief btw). Bij Settings kun je eventueel ook een OpenAI API-sleutel invoeren als je er een hebt.

AgentGPT kan ook eigen data onderzoeken (hier Google Drive documenten via sid.ai)

Agent-bibliotheken

Op de webpagina van het hierboven vermelde AgentGPT kun je ook uit twintig sjablonen kiezen. Dit zijn kant-en-klare agenten, met prompts gericht op een bepaald taaktype, zoals rapportanalyse, reisplanning of marketing strategieën. Maar er bestaan intussen ook diensten met een bibliotheek AI-agents, zoals Agent.AI. Je kunt zoeken op naam of op tags, binnen categorieën zoals Social, Customer Service, Image en Lifestyle. Filter je op Image, dan krijg je agents zoals Logo Creator, Youtube Thumbnail Generator en MindmapGenerator.

We nemen even Mindmap Generator als voorbeeld. Klik hier op Goagent en geef een geschikte prompt, bijvoorbeeld een onderwerp voor je mindmap. Bevestig met Go en de agent gaat aan de slag. Daarna kies je tussen Fully automatic (waarbij je alles aan de agent overlaat) of Interactive (waarbij je stap voor stap het voorlopige ontwerp kunt aanpassen of uitbreiden).

Ook bij MindStudio vind je een ruime collectie AI-agents, verdeeld in rubrieken zoals Research, Analyze Content, For Creators, For Students en YouTube. Na aanmelding kun je ze vanaf het platform uitvoeren via de knop Run (Pro Agents enkel na betaling) of via een Chromium-browserextensie, zodat de agent direct met een specifieke webpagina kan werken.

Houd er rekening mee dat het onderscheid tussen een slimme AI-assistent en een autonome AI-agent ook hier niet altijd duidelijk is.

Op Agent.AI vind je veel agents (of minstens assistenten), waaronder deze eenvoudige mindmap-generator.

Agentic AI-browsers

We hebben geen glazen bol, maar we zijn ervan overtuigd dat agentic AI zich dit jaar sterk zal doorzetten. De vraag naar autonomere AI-systemen groeit, de technologische basis met modellen als GPT-4.x en Claude 4.x is al aanwezig en de tool-calling-functionaliteit breidt snel uit.

Die evolutie zal zich vermoedelijk ook voortzetten binnen browsers, zoals blijkt uit Opera Browser Operator. Deze AI-agent is netjes geïntegreerd in de Opera-browser en maakt het mogelijk om bijvoorbeeld producten te bestellen, een reis te plannen, tickets te boeken of studiemateriaal te verzamelen zonder dat je zelf iets hoeft te doen (wat overigens wel mogelijk blijft). Op het moment van schrijven is deze functie helaas nog een preview, maar mogelijk zit die functie al in Opera's ontwikkelaarseditie tegen de tijd dat je dit leest.

Een andere vroege ontwikkeling is Anchor Browser, voorlopig alleen beschikbaar als cloud-hosted platform. Na aanmelding krijg je toegang tot een interactieve omgeving waar je AI-gestuurde browserflows kunt opstellen en testen. Bovenaan kies je eerst een taakstructuur, zoals AI Form Filling of Web Research.

Zelf bouwen met MindStudio

Zowel Agent.AI als MindStudio laten je niet alleen bestaande agents gebruiken, maar bieden ook tools om zelf een AI-agent te bouwen. We laten kort zien hoe je dit aanpakt in MindStudio, bijvoorbeeld voor een agent die een webpagina, pdf of YouTube-video samenvat (bij deze laatste door zelf het bijbehorende transcript op te halen).

Ga naar https://app.mindstudio.ai en open links het onderdeel Build. Klik rechtsboven op Create New Agent en zorg dat het tabblad Automations actief is. Klik op het blauwe Start-blok; rechts verschijnen dan enkele configuratie-opties. Wil je de agent beschikbaar maken in de browserextensie van Agent.AI, klik dan bij Run Mode op het pijlknopje en kies Browser Extension. Er verschijnen nu data zoals url, metadata en pageContent, die beschikbaar komen voor de agent.

Klik rechts van het Start-blok op de knop met het plusje om een AI-module toe te voegen. Voor ons voorbeeld kies je Generate Text, een van de meest gebruikte modules. Andere opties zijn Generate Image, User Input, Scrape URL of je klikt op View All Blocks voor alle beschikbare modules. Na selectie van Generate Text zie je rechts bij ModelSettings dat standaard Claude 3.5 Haiku gebruikt wordt. Je kunt ook kiezen uit andere ondersteunde LLM's, waaronder enkele gratis modellen.

Bouw je eigen agent met AI-modules in MindStudio.

Verder uitwerken

Met de LLM geselecteerd kun je rechts nog extra instellingen aanpassen via parameters als Temperature (hoe lager, hoe voorspelbaarder het antwoord), Max Response Size (hoe lager, hoe beknopter het antwoord) en andere. Bovenaan staat het promptvenster waar je een duidelijke instructie voor de LLM geeft, bijvoorbeeld: 'Vertel me alles wat ik moet weten over deze webpagina.'

Om de inhoud van de webpagina door te geven, gebruik je de eerder vermelde variabele pageContent (je kunt deze variabele eerst kopiëren naar het klembord) die je onder je prompt met {{pageContent}} aanroept.

Klik linksboven op Untitled AI Agent en geef je agent een naam. Je kunt ook een korte omschrijving toevoegen en een pictogram kiezen. Klik vervolgens rechtsboven op Preview / Open Draft Agent. Je test je agent door een url in te vullen, op Load Site te klikken en daarna op Run Agent.

Wil je de agent publiceren (en aan de browserextensie koppelen via het knopje met de drie puntjes), dan heb je wel een Pro-versie nodig. Deze kost 12 dollar per maand (ongeveer 13 euro inclusief btw) voor onbeperkte agents, exclusief eventuele kosten voor API-calls van betaalde AI-modellen.

Je agent is klaar: nog snel even proefdraaien.

Automatische prompt

Je kunt ook een bestaande agent dupliceren en deze via Edit snel aanpassen voor een ander doel. Daarnaast is het mogelijk om de prompt automatisch te laten genereren. Klik hiervoor rechtsonder het promptvenster op het bijbehorende knopje en kies Generate. Typ bijvoorbeeld 'Vat deze webpagina uitgebreid en overzichtelijk samen' of 'Analyseer deze X-berichtreeks' en klik opnieuw op Generate. Even later verschijnt een veel uitgebreidere (standaard Engelstalige) prompt, waarbij de opdracht wordt opgesplitst in subtaken, zodat je agent gestructureerder te werk kan gaan. Vergeet ook hier niet de variabele {{pageContent}} toe te voegen.

Op vergelijkbare manier kun je nog veel andere agents maken. Experimenteer gerust met alle beschikbare opties en mogelijkheden.

Je kunt automatisch een uitgebreide prompt laten genereren voor je agent.

Grondig zoeken

Steeds meer generatieve AI-modellen bieden met wat vaak deepsearch wordt genoemd een geavanceerde zoekfunctie aan om diepgaande informatie van internet en andere bronnen op te halen en te analyseren. Daardoor kunnen ze ook meerdere redeneringsstappen uitvoeren en zo tot een nauwkeuriger en uitgebreider antwoord komen.

Zo'n functie vind je onder meer bij ChatGPT (Diepgaand onderzoeken), Gemini (Deep Research) en Grok (DeepSearch en de nog uitgebreidere DeeperSearch). Je kunt deze functies zien als een vorm van agentic AI, omdat ze autonoom complexe taken uitvoeren die normaal menselijke tussenkomst vragen. Afhankelijk van je opdracht (en andere parameters) kan het zoekwerk makkelijk tien minuten of langer duren. Met een gratis account is deze functionaliteit helaas wel beperkt bruikbaar, zeker bij ChatGPT. ChatGPT heeft overigens ook al Operator, een agent die een browser kan gebruiken, maar alleen nog beschikbaar is voor Pro-gebruikers in de VS.

▼ Volgende artikel
Waar voor je geld: 5 krachtige powerbanks voor lange reizen
© ([None] (Photographer) - [None]
Huis

Waar voor je geld: 5 krachtige powerbanks voor lange reizen

In onze rubriek Waar voor je geld helpen we je de slimste keuze te maken. Daarom gaan we een paar keer per week op zoek naar inteessante producten voor een prima prijsje. Dit keer kijken we naar powerbanks met een flinke accucapaciteit die geschikt zijn voor lange(re) reizen en meerdere apparaten tegelijk kunnen opladen.

Met een losse powerbank kun je al je mobiele apparaten op- of bijladen als je onderweg bent en geen andere usb-laders in de buurt hebt. Gelukkig komt dat steeds minder vaak voor, want bijna iedere auto, de meeste moderne treinen en vliegtuigen en ook bussne hebben vaak al een usb-aansluiting bij de stoelen zitten. Toch kan het voor sommige reizen handig zijn om extra stroom mee te kunnen nemen. Wij vonden een aantal mooie modellen voor je.

Mophie Powerstation Pro

Deze oplader beschikt over een USB-C poort die tot 45 W kan leveren via Power Delivery en twee USB-A poorten voor overige apparatuur. In totaal heb je dus vier uitgangen tot je beschikking. De interne batterij heeft een capaciteit van 20.000 mAh. Hiermee kun je niet alleen je mobiele apparaten, maar ook je laptop een aanzienlijke gebruiksduurverlenging geven. De USB-C poort functioneert zowel als in- als uitgang, waardoor je de powerbank zelf ook weer vlot kunt opladen met een geschikte adapter. Die wordt zelf niet meegeleverd, maar wel de benodigde kabel.

Capaciteit: 20.000 mAh
Max vermogen: 45 W
Aantal apparaten: 3

Sandberg All-in-1 Laptop Powerbank 24000

De Sandberg All-in-1 Laptop Powerbank 24000 is een universele energiebron voor al je mobiele apparaten, zelfs je laptop of Macbook. Met zijn krachtige 24.000 mAh accu is er genoeg stroom om een smartphone meerdere keren op te laden of meerdere extra uren werk op de laptop. De powerbank is eenvoudig op te laden in enkele uren met de meegeleverde netadapter of een USB-C-lader. Met de DC-uitgang en 12 verschillende adapters in de verpakking, evenals een USB-snellaadpoort en twee USB-C-poorten, kunnen veel en verschillende soorten apparaten worden opgeladen op maximale snelheid. Als extra functie is er zelfs een ingebouwde draadloze snellader bovenop de powerbank.

Capaciteit: 24.000 mAh
Max vermogen: 84 W
Aantal apparaten: 5

Siltcon Powerbank 30.000 mAh

Deze powerbank valt op door de mogelijkheden. Naast verschillende usb-poorten voor het opladen van je smartphone, e-reader, draadloze oortjes of tablet is deze powerbank ook geschikt voor snelladen met 22,5 Watt, waardoor je telefoon binnen een uur weer helemaal vol is.. De accucapaciteit van 30.000 mAh is ruim voldoende om apparaten maar liefst zeven keer op te laden, maar uiteraard niet allemaal tegelijk. De powerbank werkt met alle Apple- en Android-toestellen en kan tot 5 apparaten tegelijk van stroom voorzien.

Capaciteit: 30.000 mAh
Max vermogen: 22,5 W
Aantal apparaten: 4

iMoshion Powerbank 30.000 mAh 22.5W

Als een zo hoog mogelijke capaciteit voor jou de belangrijkste factor is, dan kun je dit model overwegen. Deze powerbank heeft een interne batterij van maar liefst 30.000 mAh. Dit vertaalt zich naar de mogelijkheid om je apparaten gedurende een langere periode, bijvoorbeeld tijdens een lang weekend weg, van stroom te voorzien zonder de powerbank zelf te hoeven opladen. En extra handig: hij kan ook via zonne-energie worden opgeladen. Je hebt de beschikking over vier uitgangen: één USB-C poort en drie USB-A poorten. Dit maakt het een handige keuze als je nog veel apparaten hebt die de USB-A standaard gebruiken. De poorten ondersteunen verschillende snellaadprotocollen, waaronder Power Delivery en Quick Charge, met een maximaal gecombineerd vermogen van 22.5W. Een LED-display toont de exacte batterijstatus, zodat je altijd weet hoeveel energie er nog over is.

Capaciteit: 30.000 mAh
Max vermogen: 22,5 W
Aantal apparaten: 4

BlueBuilt Powerbank 20.000 mAh 45W

Deze powerbank is ontworpen als een allround oplaadoplossing voor moderne apparaten. Met een capaciteit van 20.000 mAh heb je voldoende stroom bij de hand om je dag door te komen. Het apparaat beschikt over een gebalanceerde set van vier poorten: twee USB-C poorten en twee USB-A poorten. Dit maakt het mogelijk om een brede variëteit aan apparaten gelijktijdig aan te sluiten. Beide USB-C poorten ondersteunen Power Delivery, waarbij één poort een vermogen tot 45W kan leveren. Dit is genoeg om naast je telefoon en tablet ook een kleinere laptop, zoals een MacBook Air, op te laden. De USB-A poorten zijn voorzien van Quick Charge, voor het versneld opladen van compatibele apparaten. De powerbank is uitgerust met een pass-through functie, wat inhoudt dat je de powerbank zelf kunt opladen terwijl deze tegelijkertijd andere apparaten van stroom voorziet.

Capaciteit: 20.000 mAh
Max vermogen: 45 W
Aantal apparaten: 4