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)Filtrovanie metadátwrite39 / 105
+75 XP
Ú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.
✏️ 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…