# 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) --- ## 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 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 - 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