Prejsť na hlavný obsah
🔒 Režim náhľadu. Prvých pätnásť lekcií Foundations je zadarmo; táto je Pro. Spustite 7-dňový trial pre odomknutie editora, AI nápovied a zvyšku kurzu. Karta vyžadovaná, zrušte kedykoľvek v Dashboard.Spustiť 7-dňový trial →
← KurzyAI Engineering with PythonModul 3 · RAG (generovanie rozšíreného získavania)Hybridné vyhľadávanie: BM25 + vektorwrite37 / 105
+100 XP
Úloha
📝 **Otázka:** **Napíšte funkciu** \`rrf(rankings, k=60)\` — Reciprocal Rank Fusion. Vezme zoznam hodnotení (každé hodnotenie je zoradený zoznam ID dokumentov od najlepšieho po najhoršie, od jedného retrievera) a vráti zlúčené top-K ako zoznam ID dokumentov zoradených podľa celkového skóre RRF, najvyššie ako prvé. Vzorec pre jeden dokument v jednom hodnotení na nulovej pozícii \`rank\`: \`\`\` skóre = 1 / (k + poradie) \`\`\` Súčet skóre vo všetkých hodnoteniach pre každý dokument; zoradiť dokumenty podľa celkového skóre zostupne. Potom spojte vektor a retriever BM25 na dotaz „SKU-4471“: \`\`\` vector = ["doc-A", "doc-B", "doc-C", "doc-D"] # vector si myslí, že A je najlepšie bm25 = ["doc-D", "doc-A", "doc-E", "doc-F"] # bm25 dáva D na prvé miesto (zodpovedá SKU) \`\`\` Vytlačte spojené top-4 ako zoznam Python: \`\`\` ['doc-A', 'doc-D', 'doc-B', 'doc-C'] \`\`\` A sa objaví v oboch zoznamoch na vysokých pozíciách → vyhráva. D bolo #1 v BM25 → porazilo B a C, aj keď to vektor neuprednostňoval. To je RRF: dokumenty vysoko hodnotené podľa AKÉHOKOĽVEK povrchu retrievera. 📋 Vyberte správnu odpoveď. 💡 **Tip:** Ak si nie ste istí, prečítajte si znova teóriu vyššie.
✏️ Piš kód tu
🐍
Načítanie Pythonu...
Jednorazové stiahnutie (~1 MB). Potom okamžite beží.
📊 Výsledok
Klikni na Spustiť a uvidíš výsledok...

💬 Diskusia

Buď prvý — polož otázku alebo sa podeľ o tip.
Prihlás sa aby si sa zapojil do diskusie. Čítanie je zadarmo.
Načítava sa diskusia…