Úloha
📝 **Otázka:** **Napíšte funkciu** \`safe_search(dopyt, filter)\`, ktorá chráni RAG pre viacerých nájomcov pred triedou úniku č. 1 – chýbajúci filter \`tenant_id\`.
pravidlá:
- Ak \`filter\` nie je diktát → zvýšte \`ValueError("filter musí byť diktát")\`.
- Ak \`tenant_id\` chýba ALEBO je prázdne/nesprávne → zvýšte \`ValueError("ZABEZPEČENIE: filter tenant_id je povinný a nie je prázdny")\`.
- V opačnom prípade vráťte \`f"OK | {query!r} v rozsahu na nájomníka {filter['tenant_id']!r}"\`.
Potom ho spustite proti štyrom tvarom požiadaviek (dvom skutočným, dvom nebezpečným):
\`\`\`
OK | „zásady vrátenia peňazí“ sa vzťahujú na nájomcu „acme“
BLOKOVANÉ | "tabuľka platov" | ZABEZPEČENIE: Filter tenant_id je povinný a nie je prázdny
OK | „história objednávok“ sa vzťahuje na nájomcu „globex“
BLOKOVANÉ | „Kľúče API“ | ZABEZPEČENIE: Filter tenant_id je povinný a nie je prázdny
\`\`\`
Prípad s prázdnym reťazcom je zaludny — \`"tenant_id" vo filtri\` by prešlo, ale \`filter.get("tenant_id")\` vráti falošnú hodnotu. **Vždy kontrolujte pravdivosť, nikdy nie iba prítomnosť kľúča.** Nesprávne nakonfigurované rozhranie predvolene nastavené na \`tenant_id\` na \`""\` spôsobilo úniky medzi nájomníkmi v reálnom svete.
📋 Vyberte správnu odpoveď.
💡 **Tip:** Ak si nie ste istí, prečítajte si znova teóriu vyššie.