fix: lessons

This commit is contained in:
2026-06-07 15:15:11 +02:00
parent 83779e0d7a
commit 4f13aadc1a
121 changed files with 2038 additions and 23690 deletions

View File

@@ -1,130 +1,79 @@
# Les 15: Eindproject Werkdag 1
# Les 15: RAG + Embeddings — Praat met je documenten
> ✅ **Deze les is volledig uitgewerkt**
## Lesmateriaal
- [Slide Overzicht](../Les15-RAG-Embeddings/Les15-Slide-Overzicht.md)
- [Docenttekst](../Les15-RAG-Embeddings/Les15-Docenttekst.md)
- [Lesstof](../Les15-RAG-Embeddings/Les15-Lesstof.md)
- [Lesopdracht](../Les15-RAG-Embeddings/Les15-Lesopdracht.md)
- [Huiswerk](../Les15-RAG-Embeddings/Les15-Huiswerk.md)
---
## Hoofdstuk
**Deel 4: Advanced AI & Deployment** (Les 13-18)
## Deel
**Deel 3 — AI Development** (Les 11-16)
## Beschrijving
Eerste intensieve werkdag aan je eindproject. Focus op core features bouwen, Q&A sessions, individuele hulp, en probleemoplossing. Docent beschikbaar voor guidance en klassikale sparring.
Hoe laat je een LLM antwoorden op basis van documenten die hij nooit heeft gezien? Antwoord: Retrieval-Augmented Generation (RAG). We bouwen een PDF Q&A-app from scratch met embeddings, vector search (pgvector) en context-injectie.
---
## Te Behandelen (~45 min guidance + 120 min work)
## Te Behandelen
- Q&A session: wat loop je tegen aan?
- Cursor tips & tricks review
- Debugging strategies en common patterns
- Performance optimization basics
- Deployment troubleshooting preview
- Hands-on assistance beschikbaar
- Code review feedback
- Feature planning discussion
### Theorie
- Het probleem: LLM kent jouw documenten niet
- Twee oplossingen: alles meesturen vs. RAG
- Wat zijn embeddings? (vectoren, semantische gelijkenis)
- pgvector in Supabase: tabel-setup + index
- De RAG-loop: chunk → embed → store → query → retrieve → answer
- Limieten en valkuilen (chunking, recall vs. precision)
---
## Doel van deze Werkdag
- Core features van je eindproject afmaken
- Architecture validatie (is je setup goed?)
- Database integratie testen
- Auth flows uitwerken
- First AI feature implementeren
- Testing en bug fixes
---
### Checklist voor deze Sessie
**Code Quality:**
- [ ] TypeScript geen errors
- [ ] No console.logs in production code
- [ ] Proper error handling
- [ ] Component props typed
**Features:**
- [ ] Core feature 1 werkend
- [ ] Core feature 2 werkend
- [ ] Data persistence (Supabase)
- [ ] Loading states visible
- [ ] Error states handled
**Setup:**
- [ ] Project structure clean
- [ ] .cursorrules up-to-date
- [ ] Environment variables configured
- [ ] Git history clean
### Live demo's
1. Nieuwe Next.js-app + Supabase met pgvector
2. PDF parsen + chunking strategie
3. Embeddings genereren via OpenAI `text-embedding-3-small`
4. Vector-search route + top-K retrieval
5. Chat-interface met context-injectie
---
## Tools
- Cursor
- Chrome DevTools
- Supabase Dashboard
- GitHub
- Vercel (optional preview)
- Vercel AI SDK v6
- Supabase + pgvector extension
- OpenAI embeddings API
- pdf-parse / unpdf voor PDF-extractie
---
## Lesopdracht (4 uur, hands-on werk)
## Lesopdracht (in-class, 60 min)
### Intensive Development Session
Studenten kijken klassikaal mee. In-class oefening:
- Upload een eigen PDF in de demo-app
- Stel 5 vragen — beoordeel de antwoorden
- Probeer een vraag die NIET in de PDF staat: wat gebeurt er?
**Hou je voortgang bij:**
**Eerste uur (0-60 min):**
- [ ] Maak prioriteiten list van features
- [ ] Fix top 3 bugs van vorige sessies
- [ ] Test alles lokaal
- [ ] Ask docent for guidance if stuck
**Twee uur (60-120 min):**
- [ ] Implementeer core feature 1 (CRUD)
- [ ] Implementeer core feature 2
- [ ] Add loading/error states
- [ ] Styling pass 1
**Drie uur (120-180 min):**
- [ ] Implementeer AI feature (tool calling)
- [ ] Test end-to-end flows
- [ ] Fix bugs found
- [ ] Performance check
**Vier uur (180-240 min):**
- [ ] Polish UI
- [ ] Code cleanup
- [ ] Document decisions
- [ ] Commit and push
### Deliverable
- Werkende core features
- Updated PROMPT-LOG.md (add entries)
- Updated AI-DECISIONS.md
- GitHub commits with progress
- Screenshot of working features
**Inleveren:** Screenshot van Q&A-sessie + reflectie 1 alinea.
---
## Huiswerk
## Huiswerk (take-home)
Continue building your project for next session.
Bouw een eigen RAG-app:
- Eigen dataset (handleidingen, notities, eigen blog)
- Werkende vector-search met pgvector
- Chat-UI met source-attribution (welke chunks gebruikt?)
- Deploy naar Vercel
**Checklist:**
- [ ] Core features complete
- [ ] All changes pushed to GitHub
- [ ] PROMPT-LOG.md updated with prompts used
- [ ] AI-DECISIONS.md updated with choices made
- [ ] Ready for next workday session
**Inleveren:** GitHub + Vercel URL.
---
## Leerdoelen
Na deze les kan de student:
- Zelfstandig problemen identificeren en fixen
- Cursor effectief gebruiken voor rapid development
- Architectuur decisions valideren en aanpassen
- Debugging strategieën toepassen
- Features end-to-end implementeren
- Development workflows versnellen
- Documentatie up-to-date houden
- Het RAG-pattern uitleggen aan een collega
- pgvector configureren in Supabase
- PDF-content chunken en embedden
- Een werkende vector-search query schrijven
- Bepalen wanneer RAG vs. alles-meesturen vs. fine-tuning past