Cursus
AI voor klas 8: Slimme app-ontwikkelaar
Combineer Python, webpagina's, modellen en AI-API's tot een app die je test en presenteert.
Doe de lessen op volgorde. Aan het eind kun je de delen van een AI-app noemen: interface, backend, model en data, en de architectuur van een echte AI-app tekenen. Je kunt code in modules splitsen, JSON-bestanden lezen en schrijven, en een kleine site bouwen met HTML en CSS. Je kunt de voorspelling van een classificator op een webpagina laten zien, een prompt bouwen vanuit een sjabloon, en controleren dat het antwoord van een model het juiste formaat heeft. Je kunt vanuit Python een AI-API aanroepen die je leraar beheert, een API-sleutel geheimhouden, een evaluatieset van 20 tests bouwen, een veiligheidschecklist schrijven, en een demo geven van een geteste AI-leerassistent.
Zo gebruik je deze lessen
- Begin bij de les met Doe dit. Ga verder als je de regel onder de titel zelf kunt doen.
- Speel eerst de Spelletjes. Maak daarna de Toets. 8 van 10 goed om te halen. De Werkbladen zijn op papier. De antwoorden staan onderaan.
- Elke les bouwt voort op de les ervoor. Houd één projectmap en voeg er elke les iets aan toe.
- Gebruik alleen AI-diensten die je leraar goedkeurt. Houd API-sleutels uit je code en deel ze nooit. Stuur nooit privé-informatie naar een model, en test elk AI-antwoord dat je app laat zien.
Elke les heeft spelletjes, een toets en werkbladen.
0 van 36
Architectuur van een AI-app
- 1Delen van een AI-appNoem de delen van een AI-app: interface, backend, model en data.
- Definieer elk van de vier delen.
- Vind ze in een vertaal-app.
- Zeg welk deel gebruikers zien.
- 2Volg een verzoekVolg één verzoek van klik tot antwoord.
- Noem elke stap van klik tot scherm.
- Zeg waar het model draait.
- Zeg waar vertraging kan ontstaan.
- 3Waar data staatZeg waar een app data bewaart en waarom.
- Vergelijk de browser, een server en een database.
- Zeg wat nooit bewaard mag worden.
- Zeg wie elke plek kan zien.
- 4Teken de architectuur van een appTeken de architectuur van een echte AI-app.
- Kies een app.
- Teken een vak voor elk deel.
- Teken pijlen voor de datastroom.
Python op middelbaar niveau
- 5ModulesSplits code in modules en importeer ze.
- Zet functies in een eigen bestand.
- Importeer ze in een ander bestand.
- Geef modules duidelijke namen.
- 6BestandenLees en schrijf tekstbestanden en JSON-bestanden.
- Lees en schrijf een tekstbestand.
- Sla JSON op en laad het.
- Vang een ontbrekend bestand op.
- 7BibliothekenInstalleer en gebruik een Python-bibliotheek.
- Installeer een bibliotheek met pip.
- Lees de documentatie.
- Gebruik één functie eruit.
- 8Herbruikbare codeMaak van herhaalde code een herbruikbare functie.
- Zoek herhaalde code.
- Maak er een functie van met duidelijke parameters.
- Schrijf een korte docstring.
Basis van webapps
- 9HTMLBouw een HTML-pagina met koppen, tekst en een formulier.
- Gebruik koppen, alinea's en lijsten.
- Voeg een afbeelding en een link toe.
- Voeg een formulier toe met een tekstvak en een knop.
- 10CSSGeef een pagina stijl met CSS: kleuren, ruimte en indeling.
- Stel kleuren en lettertypen in.
- Voeg margin en padding toe.
- Deel een pagina in met flexbox.
- 11Formulieren en invoerLees de invoer die een gebruiker in een formulier typt.
- Lees de formulierwaarde met JavaScript.
- Laat hem weer op de pagina zien.
- Controleer op lege invoer.
- 12Kleine siteBouw een kleine site met twee pagina's.
- Bouw een startpagina en een toolpagina.
- Koppel ze aan elkaar.
- Laat ze werken op een telefoonscherm.
Modellen koppelen
- 13InferentieLeg het verschil uit tussen trainen en inferentie.
- Zeg dat trainen één keer gebeurt en inferentie bij elk verzoek.
- Sla een getraind model op en laad het.
- Meet de tijd van één voorspelling.
- 14ModelinvoerMaak modelinvoer in de vorm die een model verwacht.
- Verklein of vergroot een afbeelding.
- Zet kenmerken in de juiste volgorde.
- Wijs invoer af die het model niet kan gebruiken.
- 15ModeluitvoerLees labels en scores uit de modeluitvoer.
- Lees het bovenste label.
- Lees de vertrouwensscore.
- Toon “niet zeker” onder een drempel.
- 16Koppel een classificatorLaat de voorspelling van een classificator op een webpagina zien.
- Laad een model in de browser of op een kleine server.
- Stuur invoer vanaf de pagina.
- Toon het label en de score.
Apps met prompts
- 17PromptsjablonenBouw een prompt vanuit een sjabloon en gebruikersinvoer.
- Schrijf een sjabloon met lege plekken.
- Vul de lege plekken met gebruikersinvoer.
- Zorg dat gebruikersinvoer je instructies niet verandert.
- 18ContextGeef een model de context die het nodig heeft.
- Voeg klas en onderwerp toe.
- Voeg een voorbeeldantwoord toe.
- Vergelijk antwoorden met en zonder context.
- 19Formaat controlerenControleer dat het antwoord van een model het juiste formaat heeft.
- Vraag om JSON.
- Ontleed het en controleer de velden.
- Probeer opnieuw of toon een fout als het mis is.
- 20PromptstroomKoppel twee prompts in een stroom om een taak af te maken.
- Maak vragen met één prompt.
- Controleer de antwoorden met een tweede prompt.
- Geef data door tussen de stappen.
AI-API's
- 21Verzoeken en antwoordenStuur een verzoek en lees het JSON-antwoord.
- Stuur een GET- en een POST-verzoek.
- Lees statuscodes.
- Ontleed een JSON-antwoord.
- 22API-sleutelsHoud een API-sleutel geheim.
- Bewaar een sleutel in een omgevingsvariabele.
- Houd sleutels uit gedeelde code.
- Zeg waarom een sleutel nooit in de browser mag staan.
- 23Limieten en kostenLeg snelheidslimieten en gebruikskosten uit.
- Lees een fout over de snelheidslimiet.
- Schat de kosten van 100 verzoeken.
- Wacht en probeer opnieuw als je beperkt bent.
- 24Roep een API aanRoep vanuit Python een AI-API aan die je leraar beheert.
- Stuur een prompt.
- Lees het antwoord.
- Vang fouten en time-outs op.
AI testen
- 25TestgevallenSchrijf testgevallen: invoer met verwachte uitvoer.
- Schrijf 10 testinvoeren.
- Schrijf hoe goede uitvoer eruitziet.
- Voer ze met de hand uit.
- 26BetrouwbaarheidTest de betrouwbaarheid: voer dezelfde test vaak uit en vergelijk de resultaten.
- Voer één prompt 10 keer uit.
- Tel hoe vaak het goed is.
- Verlaag de willekeur en vergelijk.
- 27RandgevallenTest randgevallen: lege, lange en lastige invoer.
- Probeer lege invoer en heel lange invoer.
- Probeer invoer in een andere taal.
- Probeer invoer die de app wil foppen.
- 28EvaluatiesetBouw een evaluatieset van 20 tests en geef je app een score.
- Meng makkelijke, moeilijke en lastige tests.
- Scoor elk antwoord als gehaald of niet gehaald.
- Houd de score bij na elke wijziging.
Verantwoord app-ontwerp
- 29Privacy vanaf het ontwerpGebruik privacy vanaf het ontwerp: verzamel alleen de data die een app nodig heeft.
- Noem de data die je app verzamelt.
- Haal weg wat niet nodig is.
- Zeg hoe lang data bewaard blijft.
- 30BeveiligingenZet beveiligingen om onveilige invoer en uitvoer te blokkeren.
- Filter onveilige onderwerpen.
- Controleer antwoorden voordat je ze toont.
- Geef een veilig antwoord als je blokkeert.
- 31GebruikerservaringLaat in de gebruikerservaring zien wanneer AI antwoordt en dat AI fout kan zitten.
- Label AI-antwoorden.
- Voeg een manier toe om een fout antwoord te melden.
- Toon een laadstatus.
- 32VeiligheidschecklistSchrijf een veiligheidschecklist voor je app.
- Dek privacy, veiligheid en nauwkeurigheid.
- Controleer je app ermee.
- Repareer één punt dat faalt.
Studio voor app-ontwikkeling
- 33Plan de assistentSchrijf de functies en tests voor een leerassistent.
- Kies de vakken.
- Noem de functies.
- Schrijf eerst de evaluatieset.
- 34Bouw de interfaceBouw de interface: de vakkenkiezer en het vraagscherm.
- Bouw de vakkenkiezer.
- Bouw het scherm voor vraag en antwoord.
- Bouw het feedbackvlak.
- 35Koppel de AIKoppel de AI om vragen en feedback van een model toe te voegen.
- Maak oefenvragen met een model.
- Controleer antwoorden en geef feedback.
- Voer de evaluatieset uit.
- 36Je eigen AI-leerassistentGeef een demo van een geteste AI-leerassistent.
- Geef een demo van de hele app.
- Laat de evaluatiescore zien.
- Leg frontend, backend en model uit.