- video-script.md, video-*.mp4 en .srt in de acht mappen - README-sectie Video's en CHANGELOG Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
8.4 KiB
titel: De Schoolgids-assistent
ondertitel: Handleiding 2 · bouwen in Dify: een agent met eigen kennisbank
stem: nl-NL-FennaNeural
tempo: -5%
uitvoer: video-schoolgids-assistent
reeks: Reeks AI Agents met Dify voor school
bron: git.lexconsultancy.nl/guido/dify-handleidingen
[titel] Welkom bij de tweede handleiding van de reeks AI Agents met Dify voor school. In handleiding 1 bouwde je een workflow, en jij bepaalde elke stap. Nu bouw je een agent. Die krijgt een doel, een instructie en een kennisbank met jouw eigen document, en beslist zelf wanneer hij daarin gaat zoeken.
Aan het eind heb je een chatbot met een eigen webadres die vragen over jouw document beantwoordt, met bronvermelding, en eerlijk zegt wanneer het antwoord er niet in staat.
[kaart: Voorbereiding | Een document met echte tekst, geen scan, maximaal 15 MB, één bestand per keer in de sandbox | Geen persoonsgegevens: alles wat je uploadt staat op de servers van Dify | Wij gebruiken de fictieve schoolgids van Het Voorbeeldcollege, twee pagina's | Deel A is de kennisbank, deel B de agent] Je hebt een document nodig dat de agent moet kennen. Wij gebruiken een fictieve schoolgids van twee pagina's, die bij de handleiding zit. Kies je een eigen document, let dan op drie dingen: echte tekst en geen gescande afbeeldingen, geen persoonsgegevens, en liefst met kopjes. Alles wat je uploadt, staat op de servers van Dify.
De handleiding heeft twee delen. Eerst de kennisbank, dan de agent die erin zoekt.
[beeld: stap-a02-data-source.jpg | Stap 1. Een kennisbank aanmaken] Klik in het linkermenu op Knowledge en dan op Een gebruiksklare kennisbank maken. Laat Import from file staan, klik op Browse en kies je document. Klik op Next.
[beeld: stap-a05-preview-46-chunks.jpg | Stap 2. Hoe wordt het document geknipt?] Nu komt de stap die de kwaliteit bepaalt. Dify knipt je document in stukken, chunks. De agent zoekt straks in die stukken, niet in het hele document. Klik op Preview Chunk.
Zie je veel stukken van één regel, zoals 1 punt Lestijden, of een losse lestijd? Dan knipt Dify op elke regeleinde. Dat gebeurt vaak bij PDF's. Hier zijn het er 46. Een stuk van twaalf tekens kan geen vraag beantwoorden.
[beeld: stap-a06-preview-4-chunks.jpg | Stap 2. De delimiter] Klik in het veld Delimiter en vervang de inhoud door twee keer backslash n: dan knipt Dify op een lege regel, dus per alinea. Klik opnieuw op Preview Chunk. Nu zijn het vier stukken met echte inhoud.
De rest laat je staan: maximum chunk length 1024, overlap 50, index method High Quality. Klik op Save and Process.
[beeld: stap-a09-embedding-completed.jpg | Stap 3. Verwerking] Bij twee pagina's duurt dit een paar seconden. De status springt van Embedding Processing naar Embedding Completed, met een groen vinkje achter je bestand. Klik op Go to document; je document staat in de lijst met status Available.
[beeld: stap-a11-settings.jpg | Stap 4. Naam en beschrijving] Klik in het linkermenu op Settings. Geef de kennisbank een naam, Schoolgids Voorbeeldcollege, en een beschrijving.
Die beschrijving is niet voor jou. De agent leest hem om te beslissen of hij deze kennisbank moet raadplegen. Schrijf dus waar hij over gaat: gebruik deze kennisbank voor vragen over de schoolregels van Het Voorbeeldcollege, lestijden, ziek melden, verzuim en verlof, huiswerk en toetsen, telefoons, mentoraat. Scroll helemaal naar beneden en klik op Save.
[beeld: stap-a14-retrieval-resultaat.jpg | Stap 5. Retrieval Testing] Dit is het moment waarop je ziet wat een kennisbank doet. Klik op Retrieval Testing en typ een vraag: hoe laat moet ik mijn kind ziek melden? Klik op Test.
Je krijgt geen antwoord, maar de stukken tekst die het beste bij je vraag passen, met een score. Het stuk met de ziekmeldregels staat bovenaan met 0,86; de andere twee scoren laag. Zo hoort het. Staat het juiste stuk er niet bij, ga dan terug naar stap 2.
[beeld: stap-b02-agent-leeg.jpg | Stap 6. De agent] Nu deel B. Klik op Studio, Create, Create from Blank, More basic app types, en kies Agent. Naam: Schoolgids-assistent. Klik op Create.
Naast Orchestrate staat een oranje label Legacy Agent. Schrik daar niet van; de agent werkt gewoon. Dify bouwt aan een nieuwe manier om agents te maken, de Agent Console, en die komt in handleiding 4.
[beeld: stap-b03-modelkiezer.jpg | Stap 7. Het model] Ook hier staat het model standaard op gpt-5, en ook hier is dat vijf keer zo duur als nodig. Klik rechtsboven op de modelnaam en kies gpt-5-mini.
[beeld: stap-b04-instructie.jpg | Stap 8. De instructie] Bij een workflow schreef je per stap een prompt. Een agent krijgt één instructie: wie hij is, wat hij mag en wat hij niet mag. Typ in Instructions: je bent de schoolgids-assistent van Het Voorbeeldcollege, je beantwoordt vragen van ouders en leerlingen over de schoolregels.
Dan vier regels. Baseer je antwoord alleen op de schoolgids in je kennisbank. Staat het antwoord er niet in, zeg dan eerlijk dat je het niet weet en verwijs naar de receptie. Antwoord kort, maximaal vijf zinnen. En noem waar het kan het hoofdstuk.
Die eerste twee regels zijn de belangrijkste. Zonder die regels verzint hij er vrolijk op los. De rest mag je veranderen: de rol, de toon, u of je, Engels op Engelse vragen.
[beeld: stap-b06-knowledge-gekoppeld.jpg | Stap 9. De kennisbank koppelen] Klik bij Knowledge op Add, kies Schoolgids Voorbeeldcollege en klik op Add. De kennisbank hangt nu aan de agent.
[beeld: stap-b07-eerste-antwoord.jpg | Stap 10. Testen] Rechts staat Debug and Preview: een chatvenster om met de agent te praten voordat hij live is. Stel twee soorten vragen: een die in het document staat, en een die er niet in staat.
Eerst: mijn dochter heeft een toets gemist, wanneer kan ze die inhalen? Boven het antwoord verschijnt het label Used Knowledge, en in het antwoord staat het hoofdstuk.
[beeld: stap-b08-used-knowledge.jpg | Stap 10. Wat de agent zelf deed] Klik op Used Knowledge om het open te klappen. Kijk bij Request: daar staat de zoekopdracht die de agent zelf heeft geformuleerd. Jij hebt hem niet gezegd dat hij moest zoeken, en ook niet waarnaar. Hij besloot dat zelf, op basis van je vraag en de beschrijving van de kennisbank. Dat is het verschil met de workflow van handleiding 1.
[beeld: stap-b09-onbekende-vraag.jpg | Stap 10. De vraag die er niet in staat] Dan de tweede vraag: wat kost het schoolkamp van de brugklas? De agent zegt dat het niet in de schoolgids staat en verwijst naar de receptie. Dat komt door de tweede regel in je instructie. Haal die regel weg en probeer het opnieuw: dan krijg je een keurig verzonnen bedrag.
[beeld: stap-b10-publish-menu.jpg | Stap 11. Publiceren] Klik rechtsboven op Publish. Let op wat het menu zegt: Latest Published, een paar minuten geleden, terwijl je nog niets gepubliceerd hebt. Dify publiceert een Agent-app namelijk al bij het aanmaken, dus leeg. De versie met jouw instructie en kennisbank staat onder Current Draft. Sla je Publish Update over, dan opent de webapp een agent zonder kennis.
[beeld: stap-b11-gepubliceerd.jpg | Stap 11. Publish Update] Klik op Publish Update. De melding Success verschijnt en onder de knop staat nu Up to date.
[beeld: stap-b13-webapp-antwoord.jpg | Stap 11. De webapp] Klik op Webapp openen en typ een vraag: mag mijn zoon zijn telefoon gebruiken in de pauze? Onder het antwoord staat Citations met de naam van je document. Dat is de link die je aan een collega geeft; hij werkt zonder inloggen, ook op een telefoon.
[kaart: Controleren of het gelukt is | De kennisbank staat op Available, met hooguit een handvol stukken per pagina | Retrieval Testing zet bij een vraag uit het document het juiste stuk bovenaan | De agent antwoordt met Used Knowledge erboven | Bij een vraag buiten het document zegt hij dat hij het niet weet | De webapp toont Citations onder het antwoord] De controlelijst: staat de kennisbank op Available, met een handvol stukken per pagina? Vindt Retrieval Testing het juiste stuk? Staat er Used Knowledge boven het antwoord? Zegt hij het als hij het niet weet? En toont de webapp Citations?
Gaat het mis, dan is het meestal een van vier dingen: de delimiter, een lege beschrijving van de kennisbank, de ontbrekende regel zeg dat je het niet weet, of Publish Update vergeten.
[slot: De agent beslist zelf wanneer hij zoekt.] De handleiding, de schoolgids en de beelden staan in de repository; de agent staat live op udify punt app. In de volgende video zetten we drie apps in elkaar voor schoolcommunicatie: de Ouderbrief-assistent, Schoolnieuws en de Balie-stand. Tot dan.