Alle projecten
AI · Stage

Documentplatform

Een RAG-platform dat eerst plant hoe het zoekt.

Rol
Ontwerp en bouw (stage)
Jaar
2025-2026
Stack
  • Gemini API
  • RAG
  • Vector search
  • Google SSO
  • TypeScript
Status
Privé, achter login

Een intern platform dat ik tijdens mijn stage bouwde voor een organisatie in de natuur- en milieusector: medewerkers stellen vragen over de documenten van hun organisatie en krijgen antwoord mét bron. Het staat achter een login, dus hier de architectuur in plaats van screenshots.

Vraag 01 Interpretatie wat wordt er gevraagd? 02 Opdracht wat sturen we naar Gemini? Gemini API Antwoord + bron Documentindex
Model één bepaalt wat er gevraagd wordt. Model twee bepaalt wat er naar Gemini gaat.

Het probleem

Jaren aan documenten op gedeelde schijven, alleen vindbaar via wie nog wist waar iets stond. Een chatbot erbovenop lost dat niet op. Als hij niets vindt, verzint hij iets.

Een maand verloren aan n8n

Mijn begeleider stelde n8n voor en ik zei ja. De eerste versie werkte binnen een week. Daarna had elke echte vraag een nieuwe tak nodig, en belandde de logica als ongetypeerd JavaScript in Code-nodes. Na een maand ben ik gestopt, heb ik uitgelegd waarom, en het opnieuw gebouwd in TypeScript. Dat kostte minder tijd dan die verloren maand.

Twee modellen in plaats van één

Gewone RAG maakt van een vraag één zoekopdracht, en dat breekt bij samengestelde vragen. Dus maakt het eerste model alleen een plan: wat zoeken, in welke volgorde. Het tweede voert dat plan uit en zet een bron bij elke bewering. Eén extra modelaanroep per vraag, en dat is het waard: liever een seconde wachten dan een antwoord dat je niet kunt vertrouwen.

Het lastigste deel

De antwoorden waren nog vaak fout, en de oorzaak zat in de ingestie. Stukken van vaste lengte knipten zinnen doormidden, en herhaalde voetteksten matchten beter dan de echte inhoud. Aan de stukgrootte draaien hielp niet. Splitsen op kopjes, herhaalde regels weghalen en elk stuk laten beginnen met de documenttitel wel.

Keuzes

  • Gemini, omdat de organisatie al op Google Workspace draaide. De afhankelijkheid van één leverancier zit afgeschermd achter één module.
  • Het systeem mag weigeren. Onder een drempelscore zegt het dat het niets gevonden heeft en toont het de documenten die er nog het dichtst bij komen.
  • Toegang is plat: iedereen met een account ziet alle documenten. Prima voor versie één, maar rechten per document horen bij het ophalen.

Wat ik nu anders zou doen

Een tool twee dagen testen met de drie moeilijkste vragen voordat ik er een maand in steek. En de testvragen op dag één schrijven, niet halverwege.