Přejít k hlavnímu obsahu
🔒 Režim náhledu. Prvních patnáct lekcí Foundations je zdarma; tato je Pro. Spusťte 7denní trial pro odemčení editoru, AI nápověd a zbytku kurzu. Karta vyžadována, zrušte kdykoli v Dashboard.Spustit 7denní trial →
← KurzyAI Engineering with PythonModul 3 · RAG (generování rozšířeného vyhledávání)Hybridní vyhledávání: BM25 + vektorwrite37 / 105
+100 XP
Úkol
📝 **Otázka:** **Napište funkci** \`rrf(rankings, k=60)\` — Reciprocal Rank Fusion. Vezme seznam hodnocení (každé hodnocení je seřazený seznam ID dokumentů od nejlepšího k nejhoršímu, od jednoho retrívra) a vrátí sloučený top-K jako seznam ID dokumentů seřazených podle celkového skóre RRF, nejvyšší jako první. Vzorec pro jeden dokument v jednom žebříčku na pozici s nulovým indexem \`rank\`: \`\`\` skóre = 1 / (k + pořadí) \`\`\` Součet skóre ve všech hodnoceních pro každý dokument; seřadit dokumenty podle celkového skóre sestupně. Poté spojte vektor a retriever BM25 pro dotaz „SKU-4471“: \`\`\` vector = ["doc-A", "doc-B", "doc-C", "doc-D"] # vector si myslí, že A je nejlepší bm25 = ["doc-D", "doc-A", "doc-E", "doc-F"] # bm25 dává D na první místo (odpovídá SKU) \`\`\` Vytiskněte sloučené top-4 jako seznam Pythonu: \`\`\` ['doc-A', 'doc-D', 'doc-B', 'doc-C'] \`\`\` A se objeví v obou seznamech na vysokých pozicích → vyhrává. D byl #1 v BM25 → bije B a C, i když to vektor neupřednostňuje. To je RRF: dokumenty vysoce hodnocené podle JAKÉHOKOLI povrchu retrívra. 📋 Vyberte správnou odpověď. 💡 **Tip:** Pokud si nejste jisti, přečtěte si znovu teorii výše.
✏️ Piš svůj kód zde
🐍
Načítání Pythonu...
Jednorázové stažení (~1 MB). Pak hned běží.
📊 Výsledek
Klikni na Spustit a uvidíš výsledek...

💬 Diskuze

Buď první — polož otázku nebo se podělej o tip.
Přihlas se abys se zapojil do diskuze. Čtení je zdarma.
Načítání diskuze…