2.2 KiB
2.2 KiB
Les 15: RAG + Embeddings — Praat met je documenten
✅ Deze les is volledig uitgewerkt
Lesmateriaal
Deel
Deel 3 — AI Development (Les 11-16)
Beschrijving
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
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)
Live demo's
- Nieuwe Next.js-app + Supabase met pgvector
- PDF parsen + chunking strategie
- Embeddings genereren via OpenAI
text-embedding-3-small - Vector-search route + top-K retrieval
- Chat-interface met context-injectie
Tools
- Vercel AI SDK v6
- Supabase + pgvector extension
- OpenAI embeddings API
- pdf-parse / unpdf voor PDF-extractie
Lesopdracht (in-class, 60 min)
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?
Inleveren: Screenshot van Q&A-sessie + reflectie 1 alinea.
Huiswerk (take-home)
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
Inleveren: GitHub + Vercel URL.
Leerdoelen
Na deze les kan de student:
- 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