# Vraag en antwoord over je eigen documenten: van NotebookLM tot een eigen RAG-pijplijn Een veelgevraagde toepassing van AI is heel concreet: "laat een AI antwoorden op basis van onze eigen documenten". Denk aan een handleiding, een set beleidsstukken of een stapel onderzoeksrapporten. De onderliggende techniek hiervoor is **RAG** (Retrieval-Augmented Generation): de AI zoekt eerst de relevante stukken op en baseert daar het antwoord op. Er zijn grofweg twee routes, afhankelijk van hoeveel controle en integratie je nodig hebt. ## Route 1: een kant-en-klare tool zoals NotebookLM Wil je snel resultaat zonder te bouwen, dan is een tool als **NotebookLM** een logische eerste stap. NotebookLM is Google's AI-onderzoeksassistent die antwoorden geeft op basis van bronnen die jij zelf uploadt. De werkwijze is steeds hetzelfde: - **Voeg je bronnen toe**: upload of koppel de documenten die de AI mag gebruiken. Ondersteund worden onder meer Google Docs, Google Slides, PDF's, tekst- en Markdown-bestanden, web-URL's, geplakte tekst, publieke YouTube-video's, EPUB-bestanden en audio. - **Stel je vragen**: vraag in gewone taal naar samenvattingen, verbanden of specifieke details. - **Controleer de verwijzingen**: de antwoorden verwijzen met citaties terug naar de passages in jouw bronnen, vaak inclusief paginanummer, zodat je kunt nagaan waar iets vandaan komt. Het voordeel is dat de hele RAG-machinerie (opdelen, doorzoeken, antwoorden) onder de motorkap zit. Je hoeft niets te bouwen en het model blijft bij jouw materiaal. :::tip title="Wanneer kies je de kant-en-klare route?" Kies de kant-en-klare route als je vooral zelf of met een klein team in een vaste set documenten wilt zoeken. Pas als je het wilt inbouwen in een eigen website, app of werkstroom, loont het om zelf een pijplijn te bouwen. ::: ## Route 2: een eigen RAG-pijplijn Wil je antwoorden uit eigen documenten aanbieden in je eigen toepassing, bijvoorbeeld een supportchatbot of een interne zoekfunctie, dan bouw je zelf een RAG-pijplijn. Die bestaat uit twee fasen. ### Voorbereiden (eenmalig per document) - **Opdelen (chunking)**: knip elk document in kleinere stukken van een paar alinea's. Te groot levert ruis op, te klein verliest context. - **Embeddings maken**: zet elk stuk om in een **embedding**, een numerieke vector die de betekenis weergeeft. Hiervoor gebruik je een embedding-model. - **Opslaan**: bewaar die vectoren in een **vector-database** die op gelijkenis kan zoeken. ### Beantwoorden (bij elke vraag) - **Vraag omzetten**: maak een embedding van de gebruikersvraag. - **Ophalen (retrieval)**: zoek de paar chunks waarvan de vector het dichtst bij de vraag ligt. - **Antwoorden (generation)**: geef die chunks samen met de vraag mee aan een taalmodel zoals Gemini, met de instructie om alleen op basis van die context te antwoorden. :::howto title="Een eigen RAG-pijplijn op hoofdlijnen" 1. **Verzamel en schoon** de documenten op die je wilt ontsluiten. 2. **Deel ze op** in chunks van een paar alinea's met wat overlap, zodat context behouden blijft. 3. **Maak embeddings** van elke chunk met een embedding-model. 4. **Sla de vectoren op** in een vector-database die op gelijkenis zoekt. 5. **Maak bij elke vraag** een embedding van de vraag en haal de meest gelijkende chunks op. 6. **Geef die chunks plus de vraag** aan een taalmodel zoals Gemini, met de instructie alleen op die context te antwoorden en de bron te vermelden. ::: :::info title="Bouwen binnen Google Cloud" Binnen Google Cloud bouw je deze onderdelen met beheerde diensten: Vertex AI levert zowel embedding-modellen als de Gemini-modellen voor het antwoord. Wie niet alle onderdelen zelf wil samenstellen, kan de Vertex AI RAG Engine gebruiken, een beheerde pijplijn waarin opdelen, embeddings, retrieval en generatie al aan elkaar zijn geknoopt. Kies op basis van hoeveel je zelf in de hand wilt houden. ::: ## Zorg voor goede bronnen De kwaliteit van een RAG-systeem staat of valt met de kwaliteit van je documenten. Een paar praktische aandachtspunten: - **Houd bronnen schoon en actueel**: verouderde of dubbele documenten leiden tot tegenstrijdige antwoorden. - **Geef structuur**: duidelijke koppen en korte alinea's maken het opdelen in zinvolle chunks eenvoudiger. - **Beperk de set**: alleen documenten die echt relevant zijn, anders haal je vaker de verkeerde context op. ## Toon altijd de bron Laat een RAG-antwoord zien op welke documenten het is gebaseerd. Dit **grounden** geeft de gebruiker de kans om door te klikken en zelf te verifieren, en het maakt fouten sneller zichtbaar. :::warn title="RAG voorkomt fouten niet volledig" RAG vermindert verzonnen antwoorden, maar garandeert ze niet. Het model kan nog steeds een verkeerd stuk kiezen of de context onjuist samenvatten. Laat gebruikers belangrijke antwoorden altijd controleren aan de bron, en wees voorzichtig met volledig geautomatiseerde beslissingen op basis van zulke antwoorden. ::: Kort samengevat: begin klein met een kant-en-klare tool om te zien of de aanpak werkt voor jouw documenten. Schaal pas op naar een eigen pijplijn als je het echt wilt integreren of meer controle nodig hebt over hoe er wordt opgehaald en geantwoord. :::faq ### Wat betekent RAG precies? RAG staat voor Retrieval-Augmented Generation. Het model zoekt eerst relevante stukken in jouw documenten op en gebruikt die als context bij het formuleren van een antwoord, in plaats van alleen op zijn eigen getrainde kennis te leunen. ### Wanneer kies ik NotebookLM en wanneer een eigen pijplijn? Kies NotebookLM als je zelf of met een klein team snel in een vaste set documenten wilt zoeken zonder iets te bouwen. Kies een eigen RAG-pijplijn als je de antwoorden wilt inbouwen in een eigen app, website of werkstroom of meer controle nodig hebt over retrieval en generatie. ### Wat is een embedding? Een embedding is een numerieke vector die de betekenis van een stuk tekst weergeeft. Teksten met een vergelijkbare betekenis krijgen vectoren die dicht bij elkaar liggen, waardoor je op gelijkenis kunt zoeken in plaats van alleen op exacte woorden. ### Voorkomt RAG dat de AI fouten maakt? Nee, RAG vermindert verzonnen antwoorden maar sluit ze niet uit. Het model kan een verkeerd stuk ophalen of de context onjuist samenvatten. Toon daarom altijd de bron en laat mensen belangrijke antwoorden controleren. ### Welke Google Cloud-diensten heb ik nodig voor een eigen pijplijn? Vertex AI levert embedding-modellen, de Gemini-modellen voor het antwoord en een vector-zoekfunctie. Wie niet alles zelf wil koppelen, kan de Vertex AI RAG Engine gebruiken, waarin het opdelen, embeddings, retrieval en generatie al aan elkaar zitten. ### Hoe groot moet ik mijn chunks maken? Een paar alinea's per chunk is een goed startpunt, vaak met een kleine overlap zodat zinnen niet middenin worden afgekapt. Te grote chunks leveren ruis op, te kleine verliezen context. Test met je eigen documenten en stel bij op basis van de antwoordkwaliteit. :::