Session pour gérer plusieurs bacs à sable avec une configuration partagée. Il s’adresse aux développeurs côté client qui doivent coordonner des groupes de bacs à sable, appliquer des valeurs par défaut communes et garantir un nettoyage cohérent à l’échelle d’une charge de travail.
Choisir l’authentification
Ces exemples s’exécutent sur une capacité sans serveur, sauf si une section indique CKS. Choisissez l’identifiant d’authentification du compte propriétaire de vos sandboxes. Pour obtenir une clé ou un jeton, consultez Choisir et obtenir des identifiants d’authentification. Exécutez les commandes d’installation dans un environnement virtuel Python actif. Enregistrez le code Python de l’onglet correspondant à votre identifiant d’authentification sous le nomsandbox_auth.py, dans le même répertoire que les scripts Python que vous exécutez à partir de cette page. Ce fichier enregistre le mode d’authentification choisi, et non votre identifiant d’authentification. Les exemples importent AUTH depuis ce fichier et le transmettent explicitement à chaque nouvelle sandbox ou session.
- Clé API Forge
- Jeton d’accès à l’API CoreWeave
Utilisez votre clé API Forge avec la stratégie d’authentification W&B du SDK :
sandbox_auth.py
placement_mode="cks" lors de la création de la sandbox ou dans SandboxDefaults. Une session créée avec auth=AUTH authentifie également les sandboxes qui lui appartiennent. Utilisez le même identifiant d’authentification pour vous reconnecter à vos sandboxes, les lister ou les nettoyer.
Aperçu de la session
UneSession fournit :
- Une configuration par défaut commune à tous les bacs à sable.
- Un nettoyage automatique à la fermeture de la session.
- Une portée pour le décorateur
@session.function().
Utilisation de base
Créer des bacs à sable
Les sections suivantes expliquent comment créer des bacs à sable à partir d’une session et comment remplacer les valeurs par défaut de la session.session.sandbox()
Crée une sandbox avec les valeurs par défaut de la session. La sandbox ne démarre qu’à sa première utilisation :Remplacer les valeurs par défaut
Transmettez des arguments supplémentaires pour remplacer les valeurs par défaut de la session. L’exemple sans serveur suivant configure une sandbox GPU à démarrage différé, dont les demandes de ressources en CPU et en mémoire sont égales à leurs limites respectives. Pour la démarrer, appelezgpu_sandbox.start().result() ou exécutez une commande avant de quitter la session.
Gestion de sandboxes multiples
Les sessions se prêtent bien à la gestion de pools de sandboxes :Cycle de vie de la session
Les sections suivantes expliquent comment fermer une session, ce que faitclose() et comment gérer les erreurs.
Fermeture manuelle
Si vous n’utilisez pas de gestionnaire de contexte, fermez explicitement la session :Ce que fait close()
L’appel àclose() lance l’arrêt de tous les Sandbox créés via la session ou adoptés par celle-ci, et renvoie immédiatement un OperationRef[None]. Appelez session.close().result() pour attendre la fin du nettoyage.
Gestion des erreurs
Les sessions sont nettoyées même si des exceptions se produisent :Adopter des bacs à sable externes
Confiez à la session la gestion des bacs à sable créés en dehors de celle-ci :Propriétés de Session
Consultez l’état de la session grâce aux propriétés intégrées, telles quesandbox_count :