Μετάβαση στο κύριο περιεχόμενο
🔒 Λειτουργία προεπισκόπησης. Τα πρώτα δεκαπέντε μαθήματα Foundations είναι δωρεάν· αυτό είναι Pro. Ξεκινήστε ένα 7ήμερο trial για να ξεκλειδώσετε τον επεξεργαστή, τις υποδείξεις AI και το υπόλοιπο του προγράμματος. Απαιτείται κάρτα, ακυρώνετε οποιαδήποτε στιγμή από το Dashboard.Ξεκινήστε 7ήμερο trial →
← ΜαθήματαAI Engineering with PythonΕνότητα 3 · RAG (Retrieval-Augmented Generation)Φιλτράρισμα μεταδεδομένωνwrite39 / 105
+75 XP
Εργασία
📝 **Ερώτηση:** **Γράψτε τη συνάρτηση** \`safe_search(query, filter)\` που προστατεύει ένα RAG πολλαπλών ενοικιαστών από την κλάση διαρροής #1 — ένα φίλτρο \`tenant_id\` που λείπει. Κανόνες: - Εάν το \`filter\` δεν είναι dict → raise \`ValueError("το φίλτρο πρέπει να είναι dict")\`. - Εάν το \`tenant_id\` απουσιάζει Ή κενό/ψευδές → raise \`ValueError("SECURITY: το φίλτρο tenant_id είναι υποχρεωτικό και δεν είναι κενό")\`. - Διαφορετικά επιστρέψτε το \`f"OK | {query!r} με εύρος στον ενοικιαστή {filter['tenant_id']!r}"\`. Στη συνέχεια, εκτελέστε το σε τέσσερα σχήματα αιτημάτων (δύο πραγματικά, δύο μη ασφαλή): \`\`\` ΟΚ | «πολιτική επιστροφής χρημάτων» που καλύπτεται από τον ενοικιαστή «acme» ΑΠΟΚΛΕΙΣΜΕΝΟΣ | «πίνακας μισθών» | ΑΣΦΑΛΕΙΑ: Το φίλτρο tenant_id είναι υποχρεωτικό και δεν είναι κενό ΟΚ | Το "ιστορικό παραγγελιών" καλύπτεται από τον ενοικιαστή "globex" ΑΠΟΚΛΕΙΣΜΕΝΟΣ | 'Κλειδιά API' | ΑΣΦΑΛΕΙΑ: Το φίλτρο tenant_id είναι υποχρεωτικό και δεν είναι κενό \`\`\` Η περίπτωση κενού συμβολοσειράς είναι η ύπουλη — το \`"tenant_id" στο φίλτρο\` θα περνούσε, αλλά το \`filter.get("tenant_id")\` επιστρέφει ψευδής. **Να ελέγχετε πάντα την αλήθεια, ποτέ μόνο την παρουσία κλειδιού.** Μια εσφαλμένη διαμόρφωση διεπαφής με προεπιλογή του \`tenant_id\` σε \`""\` έχει προκαλέσει διαρροές μεταξύ ενοικιαστών στον πραγματικό κόσμο. 📋 Επιλέξτε τη σωστή απάντηση. 💡 **Υπόδειξη: ** Ξαναδιαβάστε την παραπάνω θεωρία εάν δεν είστε σίγουροι.
✏️ Γράψε τον κώδικά σου εδώ
🐍
Φόρτωση Python...
Λήψη μία φορά (~1 MB). Μετά τρέχει αμέσως.
📊 Αποτέλεσμα
Πάτα Εκτέλεση για να δεις το αποτέλεσμα...

💬 Συζήτηση

Γίνε ο πρώτος — κάνε μια ερώτηση ή μοιράσου μια συμβουλή.
Σύνδεση για να συμμετάσχεις στη συζήτηση. Η ανάγνωση είναι δωρεάν.
Φόρτωση συζήτησης…