# Les 18 — Advanced AI Toolbox ## Slide Overzicht (Klas A — 3 uur fysiek, demo-driven, **laatste les!**) **Lesvorm:** Tim demonstreert klassikaal. Studenten kijken. Korte demo's, geen lange theorie. **Demo-app:** Vijf kleine demo-apps — voice, vision, image gen, local LLMs, edge AI **Vervolg op:** Les 17 — AI Production Polish **Aansluit op:** Eindopdracht (thuis) --- ## Slide 1: Title ### Les 18 — Advanced AI Toolbox **Visual:** "Les 18" BLUE, "Advanced AI Toolbox" BLACK, subtitle "Wat er nog meer mogelijk is — voice, vision, image, local, edge" --- ## Slide 2: Terugblik 18 lessen ### Wat we samen hebben gedaan | Lessen | Topic | |--------|-------| | 1-10 | Foundations (Next.js, TS, Supabase basics) | | 11 | AI SDK basics | | 12 | Tool Calling | | 13 | Cursor + Vercel deploy | | 14 | Agents | | 15 | RAG + Embeddings | | 16 | MCP servers | | 17 | Production Polish | | **18** | **Vandaag: Advanced AI Toolbox** | **Vandaag:** alles wat we nog NIET hebben gezien. Demo-driven, korte introducties, je weet wat mogelijk is. --- ## Slide 3: Planning ### Vandaag — 180 minuten | Onderwerp | Duur | |-----------|------| | Terugblik 18 lessen | 10 min | | Theorie: het AI-landschap 2026 | 15 min | | **Live Demo 1** — Voice (Whisper + TTS) | 25 min | | **Live Demo 2** — Vision (GPT-4o foto-analyse) | 20 min | | **Pauze** | 15 min | | **Live Demo 3** — Image generation (Flux) | 25 min | | **Live Demo 4** — Local LLMs (Ollama) | 25 min | | **Live Demo 5** — Edge AI (Vercel AI Gateway) | 20 min | | Wat nu? Resources + community | 10 min | | Vragen + afsluiting cyclus | 15 min | --- ## Slide 4: Het AI-landschap 2026 ### Waar staan we nu? **Modellen (eind 2026):** - **OpenAI:** GPT-5, o3 reasoning, GPT-5-mini, GPT-realtime (voice) - **Anthropic:** Claude Opus 4.6, Sonnet 4.6, Haiku 4.5 - **Google:** Gemini 2.5 Pro (2M context), Gemini Flash - **Meta:** Llama 4 (open-source) - **xAI:** Grok 4, Grok 4 Vision **Modaliteiten:** - Text (alle modellen) - Vision (GPT-4o, Claude, Gemini) - Voice (GPT-realtime, ElevenLabs) - Image generation (DALL-E 4, Flux, Midjourney) - Video (Sora, Veo, Runway Gen-4) **Modi:** - API direct - Edge (Vercel AI Gateway, Cloudflare AI) - Lokaal (Ollama, llama.cpp) --- ## Slide 5: Waarom multimodal? ### Tekst is niet genoeg **Wat krijg je met multimodal:** - **Voice input** — handsfree, sneller dan typen, voor mobile dominant - **Vision** — user upload foto, AI analyseert (defect-detectie, OCR, beschrijving) - **Image gen** — assets ter plaatse genereren (landing pages, social media, avatars) - **Voice output** — voor accessibility en cars/IoT - **Real-time** — conversational, geen wachten op response **In je apps:** denk niet "chat only" — vraag je af welke modaliteit het best past per feature. --- ## Slide 6: LIVE DEMO 1 — Voice (Whisper + TTS) ### ~25 min **Wat ik laat zien:** **Whisper voor transcriptie:** ```typescript import { experimental_transcribe as transcribe } from "ai"; import { openai } from "@ai-sdk/openai"; const result = await transcribe({ model: openai.transcription("whisper-1"), audio: audioBlob, }); console.log(result.text); ``` **TTS voor uitspraak:** ```typescript import { experimental_generateSpeech as speak } from "ai"; const audio = await speak({ model: openai.speech("tts-1"), text: "Welkom bij Polderfest!", voice: "alloy", }); ``` **Demo-app:** voice-chat met Polderfest. Mic-button → spreek vraag → Whisper → LLM → TTS → spreekt antwoord. Volledige loop in 2 seconden. **Realtime API (kort):** voor lagere latency en interruptions. Vereist WebRTC, complexer maar voelt magisch. --- ## Slide 7: LIVE DEMO 2 — Vision (GPT-4o foto-analyse) ### ~20 min **Wat ik laat zien:** ```typescript import { generateText } from "ai"; import { openai } from "@ai-sdk/openai"; const result = await generateText({ model: openai("gpt-4o"), messages: [{ role: "user", content: [ { type: "text", text: "Beschrijf wat er op deze foto staat." }, { type: "image", image: imageUrl }, // of base64 buffer ], }], }); ``` **Demo-cases:** - Upload foto van eten → AI noemt ingrediënten - Upload screenshot van error → AI legt fout uit - Upload handtekening → AI beschrijft stijl **Use cases in productie:** - Defect-detectie in fabrieken - OCR voor formulieren - Visual search ("toon me schoenen zoals deze") - Accessibility — alt-tekst automatisch genereren **Cost:** vision is duurder dan text — check pricing per provider. --- ## Slide 8: Pauze ### 15 min --- ## Slide 9: LIVE DEMO 3 — Image generation ### ~25 min **Wat ik laat zien:** **Flux via Replicate of Fal:** ```typescript import { experimental_generateImage as generateImage } from "ai"; import { fal } from "@ai-sdk/fal"; const { image } = await generateImage({ model: fal.image("fal-ai/flux/dev"), prompt: "Een poster voor Polderfest 2027, retro stijl, oranje + cream kleuren", size: "1024x1024", }); // image.base64 of image.url ``` **DALL-E 4 via OpenAI:** ```typescript const { image } = await generateImage({ model: openai.image("dall-e-3"), prompt: "...", size: "1024x1024", }); ``` **Demo-app:** form met prompt-input → generate button → image preview + download. **Use cases:** - Landing page hero-images - Social media posts on-the-fly - Avatar generation per user - Product mockups - Marketing visuals **Tips:** - Specifieke prompts werken beter (stijl, kleur, compositie) - Flux Pro voor hoogste kwaliteit, Flux Schnell voor speed - Cost: $0.02-0.10 per image, schaal-bewust --- ## Slide 10: LIVE DEMO 4 — Local LLMs (Ollama) ### ~25 min **Wat ik laat zien:** **Ollama installeren:** ```bash # macOS brew install ollama # Download een model ollama pull llama4:8b ollama pull qwen3:14b ``` **Run lokaal:** ```bash ollama run llama4:8b # Interactieve chat — runt op je laptop, geen internet ``` **Via AI SDK:** ```typescript import { createOllama } from "ollama-ai-provider"; const ollama = createOllama(); const result = await generateText({ model: ollama("llama4:8b"), prompt: "Wat zijn de hoofdfuncties van een AI Developer?", }); ``` **Wanneer lokaal:** - **Privacy** — geen data naar third party - **Cost** — geen API-cost (alleen elektriciteit) - **Offline** — werkt zonder internet - **Latency** — afhankelijk van hardware, op M-series Mac vaak snel **Nadelen:** - Kwaliteit < GPT-5 / Claude voor complex - Hardware vereist (8GB+ RAM voor klein model, 32GB+ voor groot) - Trager dan API voor grote modellen **Demo-app:** chat-form met dropdown "Cloud (gpt-4o-mini)" of "Local (llama4)". Vergelijk antwoorden side-by-side. --- ## Slide 11: LIVE DEMO 5 — Edge AI + AI Gateway ### ~20 min **Wat ik laat zien:** **Vercel AI Gateway:** - Eén endpoint, alle providers - Automatic fallback bij outages - Cost optimization - Provider-agnostic key management ```typescript import { vercel } from "@ai-sdk/vercel"; const result = await generateText({ model: vercel("openai/gpt-4o"), // routed via Vercel prompt: "...", }); // Of fallback chain: const result = await generateText({ model: vercel.fallback([ "openai/gpt-4o", "anthropic/claude-sonnet-4.5", // fallback if OpenAI down ]), prompt: "...", }); ``` **Cloudflare Workers AI:** - Lokale modellen op Cloudflare edge — ms latency wereldwijd - Veel modellen gratis tier - Voor: globale apps die snel willen zijn ```typescript import { workersai } from "@ai-sdk/cloudflare"; const result = await generateText({ model: workersai("@cf/meta/llama-3.1-8b-instruct"), prompt: "...", }); ``` **Wanneer edge:** - Globale app, latency belangrijk - Cost-sensitive (free tiers ruimer) - Geen vendor lock-in --- ## Slide 12: Wat nu? Resources + community ### Hoe blijf je leren? **Communities (2026):** - **r/LocalLLaMA** — Reddit, dagelijkse update over open-source modellen - **AI Engineer Foundation** — Discord, productie-focus - **Latent Space** — podcast + Discord, breed - **Hugging Face Discord** — modellen + papers - **AI SDK Discord** — Vercel's eigen, direct contact **Nieuwsbronnen:** - **Simon Willison's blog** — beste AI-blog 2024-2026 - **Latent Space** — wekelijkse podcast - **The Rundown AI** — daily newsletter - **Twitter/X:** @karpathy, @swyx, @sama, @AnthropicAI **Voor diepere kennis:** - **Karpathy's Zero to Hero** — neural networks vanaf nul (YouTube, gratis) - **Andrew Ng's courses** — Coursera, structureel - **Hugging Face NLP course** — gratis, hands-on **Conferenties:** - AI Engineer Summit (jaarlijks, SF) - NeurIPS, ICLR (research-focus) --- ## Slide 13: Eindopdracht reminder ### Volgende stap **Wat je nu hebt:** - Volledige toolkit voor moderne AI-apps - 17 lesopdrachten + huiswerkopdrachten aan deelgenomen - Eigen mini-projecten gebouwd **Wat nog komt:** - **Eindopdracht** — thuis bouwen (geen klassikale werkdagen) - Eindopdracht moet bevatten: - Next.js + TypeScript + Tailwind - Supabase (DB + Auth + RLS) - Vercel AI SDK met Tool Calling - Externe API - Deployed naar Vercel **Praktische tips:** - Werk er gestaag aan — 8-10 uur/week voor 4-6 weken - Push klein en vaak - Vraag hulp tijdig (Slack, mail, office hours) - Begin met je voorstel (in te leveren via Teams) --- ## Slide 14: De afsluiting ### Bedankt en succes! **Wat we samen hebben gedaan:** - 18 lessen, ~54 uur klassikaal - Van localhost naar productie - Van simple fetch naar agents + RAG + MCP - Van mock-data naar productie-app met observability **Wat je nu zelfstandig kunt:** - Volledige AI-app van scratch naar productie - Multi-modal features (voice, vision, image gen) - Observability + evals + security in productie - Lokale LLMs draaien - Open-source AI ecosysteem navigeren **Voor je eindopdracht en daarna:** - Doe het ding waarvan je dacht: dat kan ik niet - Vraag hulp + deel je werk - Blijf bouwen **Bedankt voor jullie inzet de afgelopen 18 lessen. Succes!** --- ## Slide 15: Vragen? ### Open ruimte **~15 min voor:** - Vragen over leerstof - Vragen over eindopdracht - Vragen over je carrière in AI development - Feedback op de leerlijn --- ## Slide Summary | # | Title | Type | |---|-------|------| | 1 | Title | Opening | | 2 | Terugblik 18 lessen | Recap | | 3 | Planning | 180-min | | 4 | AI landschap 2026 | Theorie | | 5 | Waarom multimodal | Theorie | | 6 | **DEMO 1** — Voice | Demo | | 7 | **DEMO 2** — Vision | Demo | | 8 | Pauze | Break | | 9 | **DEMO 3** — Image gen | Demo | | 10 | **DEMO 4** — Local LLMs | Demo | | 11 | **DEMO 5** — Edge AI | Demo | | 12 | Wat nu? Resources | Reflectie | | 13 | Eindopdracht reminder | Praktijk | | 14 | Afsluiting cyclus | Closing | | 15 | Vragen | Open | --- ## Bronnen - **AI SDK Voice + Vision:** https://ai-sdk.dev/docs/ai-sdk-core/transcription, /speech - **Ollama:** https://ollama.com/library - **Vercel AI Gateway:** https://vercel.com/docs/ai/ai-gateway - **Fal (image gen):** https://fal.ai/models - **Replicate:** https://replicate.com - **Simon Willison blog:** https://simonwillison.net - **Latent Space podcast:** https://www.latent.space - **AI Engineer:** https://www.ai.engineer - **r/LocalLLaMA:** https://reddit.com/r/LocalLLaMA