Úkol
📝 **Otázka:** **Napište funkci** \`retrieval_cost(strategy, total_docs)\`, která vrací \`(cost_usd, latency_ms)\` pro dvě strategie, vzhledem k těmto jednotkovým nákladům:
- **BM25/vektorový sken** — \`0,00001 $\` za bodovaný dokument, \`1 ms\` za dokument
- **Přehodnocení (křížový kodér)** — \`$0,001\` za pár (dotaz, dokument), \`50 ms\` za pár
Dvě strategie:
- \`"rerank-only"\` — přehodnotit KAŽDÝ dokument v korpusu
- \`"dvoufázové"\` — BM25 prohledá všechny dokumenty a poté změní pořadí **50** kandidátů
Cena zaokrouhlená na 4 desetinná místa. Poté vytiskněte účetní knihu na 100, 10k a 1M dokumentů:
\`\`\`
100 dokumentů | pouze přehodnocení $ 0,1000 5000 ms | dvoustupňový 0,0510 $ 2600 ms
10 000 dokumentů | pouze přehodnocení 10 000 $ 500 000 ms | dvoustupňový 0,1500 $ 12500 ms
1000000 dokumentů | rerank-pouze $1000.0000 50000000 ms | dvoustupňový 10,0500 $ 1002500 ms
\`\`\`
Při 1 milionu dokumentů by pouze změna hodnocení stála **1 000 $** a trvala **14 hodin** na jeden dotaz. Dvoustupňová vás dostane na ~ 10 $ a 17 minut – a kvalita zdvihu je srovnatelná, protože BM25 již předfiltroval zjevný odpad. Tato mezera je důvodem, proč každý produkční vyhledávač používá trychtýř.
📋 Vyberte správnou odpověď.
💡 **Tip:** Pokud si nejste jisti, přečtěte si znovu teorii výše.