Preskoči na glavni sadržaj
🔒 Način pregleda. Prvih petnaest Foundations lekcija je besplatno; ova je Pro. Pokrenite 7-dnevni trial da otključate editor, AI savjete i ostatak programa. Kartica obavezna, otkažite bilo kada u Dashboard.Pokreni 7-dnevni trial →
← KolegijiAI Engineering with PythonModul 3 · RAG (Retrieval-Augmented Generation)Filtriranje metapodatakawrite39 / 105
+75 XP
Zadatak
📝 **Pitanje:** **Napišite funkciju** \`safe_search(query, filter)\` koja štiti multi-tenant RAG od #1 klase curenja — nedostaje filtar \`tenant_id\`. Pravila: - Ako \`filter\` nije dict → podići \`ValueError("filter mora biti dict")\`. - Ako je \`tenant_id\` odsutan ILI prazan/lažan → podići \`ValueError("SIGURNOST: filtar tenant_id je obavezan i nije prazan")\`. - U protivnom vraća \`f"OK | {query!r} s opsegom na stanara {filter['tenant_id']!r}"\`. Zatim ga pokrenite s četiri oblika zahtjeva (dva stvarna, dva nesigurna): \`\`\` OK | 'pravila povrata' obuhvaćena zakupcem 'acme' BLOKIRAN | 'tablica plaća' | SIGURNOST: filter tenant_id je obavezan i nije prazan OK | 'povijest narudžbi' obuhvaćena zakupcem 'globex' BLOKIRAN | 'API ključevi' | SIGURNOST: filter tenant_id je obavezan i nije prazan \`\`\` Slučaj praznog niza je tajni — \`"tenant_id" u filtru\` bi prošao, ali \`filter.get("tenant_id")\` vraća krivo. **Uvijek provjeravajte istinitost, nikad samo prisutnost ključa.** Pogrešno konfigurirano sučelje koje zadano postavlja \`tenant_id\` na \`""\` uzrokovalo je curenje u stvarnom svijetu među zakupcima. 📋 Odaberite pravi odgovor. 💡 **Savjet:** Ponovno pročitajte gornju teoriju ako niste sigurni.
✏️ Piši kod ovdje
🐍
Učitavanje Pythona...
Jednokratno preuzimanje (~1 MB). Zatim radi odmah.
📊 Rezultat
Klikni Pokreni da vidiš rezultat...

💬 Rasprava

Budi prvi — postavi pitanje ili podijeli savjet.
Prijavi se kako bi se pridružio raspravi. Čitanje je besplatno.
Učitavanje rasprave…