Aufgabe
📝 **Frage:** **Schreiben Sie die Funktion** \`retrieval_cost(strategy, total_docs)\`, die \`(cost_usd, latency_ms)\` für zwei Strategien unter Berücksichtigung dieser Einheitskosten zurückgibt:
- **BM25/Vektor-Scan** – „0,00001 $“ pro bewertetem Dokument, „1 ms“ pro Dokument
- **Rerank (Cross-Encoder)** – \`$0,001\` pro (Abfrage-, Dokument-)Paar, \`50ms\` pro Paar
Zwei Strategien:
- \`"rerank-only"\` – JEDES Dokument im Korpus neu einordnen
- „Zweistufig“ – BM25 scannt alle Dokumente und ordnet dann die besten **50** Kandidaten neu ein
Kosten auf 4 Dezimalstellen runden. Drucken Sie dann das Hauptbuch mit 100-, 10.000- und 1-Millionen-Dokumenten aus:
\`\`\`
100 Dokumente | Nur Reranking $ 0,1000 5000 ms | zweistufig $ 0,0510 2600ms
10000 Dokumente | Nur Reranking $ 10.0000 500000ms | zweistufig 0,1500 $ 12500 ms
1000000 Dokumente | Nur Reranking $1000.0000 50000000ms | zweistufig $10,0500 1002500ms
\`\`\`
Bei 1 Mio. Dokumenten würde die reine Neubewertung **1.000 $** kosten und **14 Stunden** pro Abfrage in Anspruch nehmen. Mit zwei Stufen erreichen Sie ca. 10 $ und 17 Minuten – und die Qualitätssteigerung ist vergleichbar, da BM25 den offensichtlichen Müll bereits vorgefiltert hat. Diese Lücke ist der Grund, warum jede Produktionssuchmaschine den Trichter verwendet.
📋 Wählen Sie die richtige Antwort.
💡 **Hinweis:** Lesen Sie die obige Theorie noch einmal, wenn Sie sich nicht sicher sind.