Εργασία
📝 **Ερώτηση:** **Γράψτε τη συνάρτηση** \`retrieval_cost(strategy, total_docs)\` που επιστρέφει \`(cost_usd, latency_ms)\` για δύο στρατηγικές, δεδομένου αυτού του κόστους μονάδας:
- **BM25/διανυσματική σάρωση** — \`$0,00001\` ανά έγγραφο που βαθμολογήθηκε, \`1ms\` ανά έγγραφο
- **Επανακατάταξη (cros-encoder)** — \`$0,001\` ανά ζεύγος (ερώτημα, έγγραφο), \`50ms\` ανά ζεύγος
Δύο στρατηγικές:
- \`"rerank-only"\` — ανακατάταξη ΚΑΘΕ εγγράφου στο σώμα
- \`"δύο σταδίων"\` — Το BM25 σαρώνει όλα τα έγγραφα και, στη συνέχεια, ανακατατάσσει τους κορυφαίους **50** υποψηφίους
Κόστος στρογγυλοποίησης σε 4 δεκαδικά ψηφία. Στη συνέχεια, εκτυπώστε το καθολικό σε 100, 10k και 1M έγγραφα:
\`\`\`
100 έγγραφα | μόνο για ανακατάταξη $ 0,1000 5000ms | δύο σταδίων $ 0,0510 2600 ms
10000 έγγραφα | ανακατάταξη μόνο 10.0000 $ 500000 ms | δύο σταδίων $ 0,1500 12500 ms
1000000 έγγραφα | μόνο για ανακατάταξη 1000.0000 $ 50000000 ms | δύο σταδίων $10,0500 1002500ms
\`\`\`
Σε 1 εκατ. έγγραφα, μόνο η ανακατάταξη θα κόστιζε **1000$** και θα χρειαζόταν **14 ώρες** ανά ερώτημα. Τα δύο στάδια σάς φτάνουν στα ~10$ και 17 λεπτά — και η ποιότητα ανύψωσης είναι συγκρίσιμη επειδή το BM25 έχει ήδη προφιλτράρει τα προφανή σκουπίδια. Αυτό το κενό είναι ο λόγος που κάθε μηχανή αναζήτησης παραγωγής χρησιμοποιεί τη διοχέτευση.
📋 Επιλέξτε τη σωστή απάντηση.
💡 **Υπόδειξη: ** Ξαναδιαβάστε την παραπάνω θεωρία εάν δεν είστε σίγουροι.