Naar hoofdinhoud
🔒 Voorbeeldmodus. De eerste vijftien Foundations-lessen zijn gratis; deze is Pro. Start een 7-daagse trial om de editor, AI-hints en de rest van het curriculum te ontgrendelen. Kaart vereist, op elk moment opzegbaar in Dashboard.Start 7-daagse trial →
← CursussenAI Engineering with PythonModule 3 · RAG (Retrieval-Augmented Generation)Hybride zoeken: BM25 + vectorwrite37 / 105
+100 XP
Opdracht
📝 **Vraag:** **Schrijf de functie** \`rrf(rankings, k=60)\` — Wederzijdse rangschikking. Neemt een lijst met ranglijsten (elke rangschikking is een geordende lijst met document-ID's van beste naar slechtste, van één enkele retriever) en retourneert de gefuseerde top-K als een lijst met document-ID's gesorteerd op totale RRF-score, de hoogste eerst. Formule voor één document in één rangschikking op nul-geïndexeerde positie \`rang\`: \`\`\` score = 1 / (k + rang) \`\`\` Tel de scores op van alle ranglijsten voor elk document; sorteer documenten op aflopende totale score. Combineer vervolgens een vector en een BM25-retriever voor een "SKU-4471" -query: \`\`\` vector = ["doc-A", "doc-B", "doc-C", "doc-D"] # vector denkt dat A het beste is bm25 = ["doc-D", "doc-A", "doc-E", "doc-F"] # bm25 plaatst D op de eerste plaats (komt overeen met de SKU) \`\`\` Print de gefuseerde top-4 als een Python-lijst: \`\`\` ['doc-A', 'doc-D', 'doc-B', 'doc-C'] \`\`\` A verschijnt in beide lijsten met hoge rangen → wint. D was #1 in BM25 → verslaat B en C, ook al was vector daar geen voorstander van. Dat is RRF: documenten die hoog scoren op ELK retrieveroppervlak. 📋 Kies het juiste antwoord. 💡 **Hint:** Herlees de bovenstaande theorie als je het niet zeker weet.
✏️ Schrijf hier je code
🐍
Python laden...
Eenmalige download (~1 MB). Daarna direct beschikbaar.
📊 Resultaat
Klik op Uitvoeren om het resultaat te zien...

💬 Discussie

Wees de eerste — stel een vraag of deel een tip.
Log in om mee te doen aan de discussie. Lezen is gratis.
Discussie laden…