Fonctionnement
Un sandbox est un environnement de calcul isolé. Vous pouvez le créer, y exécuter des commandes, puis l’arrêter une fois le traitement terminé. Chaque sandbox s’exécute dans son propre conteneur, avec son propre système de fichiers, son propre réseau et son propre espace de processus. W&B authentifie votre identité lorsque vous créez et gérez des sandboxes. Pour utiliser W&B ou Weave dans un sandbox, transmettez votre clé API via le W&B Secrets Manager ou des variables d’environnement. Voir Secrets pour plus d’informations sur l’utilisation des secrets dans les sandboxes. Un sandbox passe par plusieurs états au cours de son cycle de vie. Lorsqu’un conteneur est en cours d’exécution, vous pouvez y exécuter des commandes. Lisez, écrivez et montez en lecture seule des fichiers dans le sandbox et depuis celui-ci. Par exemple, vous pouvez lire un script Python à exécuter, écrire des journaux ou des résultats, ou monter en lecture seule un répertoire de données auquel le sandbox peut accéder. Utilisez une session pour gérer plusieurs sandboxes qui partagent une configuration. Lorsqu’une session se ferme, tous les sandboxes qu’elle contient sont arrêtés automatiquement. Voir Gérer plusieurs sandboxes pour plus de détails.Utilisation de base
Suivez ces étapes pour créer un sandbox et y exécuter une commande :-
Installez le SDK Python W&B (
wandb) et les dépendances du sandbox serverless avec la commande suivante : -
Connectez-vous à W&B avec la commande CLI
wandb login. Lorsque vous y êtes invité, fournissez votre clé API pour authentifier votre identité et accéder à votre compte W&B : -
Copiez-collez l’extrait de code suivant dans un fichier Python, puis exécutez-le. L’extrait de code effectue les opérations suivantes :
- Créez un sandbox avec
Sandbox.run(). - Exécutez la commande
echo "Hello from Serverless Sandboxes!"dans le sandbox à l’aide de la méthodeSandbox.exec(). - Affichez la sortie dans la console à l’aide de l’objet
Processrenvoyé parSandbox.exec().
Vous devriez voir le messagehello_sandbox.pyHello from Serverless Sandboxes!s’afficher dans la console. Le sandbox s’arrête automatiquement à la sortie du gestionnaire de contexte (le blocwith). Pour plus d’informations sur le cycle de vie et les états du sandbox, voir Cycle de vie des sandboxes. - Créez un sandbox avec
Migrer vers cwsandbox
wandb.sandbox est obsolète et sera supprimé dans une future version du SDK Python W&B. Le package cwsandbox le remplace et accepte soit une clé API W&B, soit un CoreWeave API access token. Sa documentation de référence se trouve dans la documentation CoreWeave sandbox.
Pour migrer, modifiez la manière dont vous installez le package, dont vous l’importez et dont vous sélectionnez votre identifiant d’authentification :
-
Installez
cwsandboxavec l’extra W&B. Cet extra installe la bibliothèquewandb, quecwsandboxutilise pour résoudre les credentials W&B : -
Importez depuis
cwsandboxplutôt que depuiswandb.sandbox, et passezauth=AuthStrategy.WANDBlors de la création d’un sandbox ou d’une Session. Par défaut,cwsandboxlit un CoreWeave API access token depuisCWSANDBOX_API_KEY; l’authentification W&B doit donc être sélectionnée explicitement :Avant : wandb.sandboxAprès : cwsandbox
wandb login active, de la variable d’environnement WANDB_API_KEY ou de l’entrée api.wandb.ai du fichier ~/.netrc. Pour facturer les sandboxes à un Compte CoreWeave à la place, omettez auth et définissez CWSANDBOX_API_KEY avec un CoreWeave API access token. Pour comparer les deux credentials, voir Choose a credential.
Comportements qui changent après la migration
wandb.sandbox encapsule cwsandbox et applique les valeurs par défaut de W&B Serverless que le package cwsandbox n’applique pas de lui-même. Tenez compte de ces différences lors de la migration :
Tutoriels Serverless Sandboxes
Pour des exemples plus détaillés, voir :- Tutoriel : invoquer un agent dans un Serverless Sandbox
- Tutoriel : entraîner un modèle PyTorch dans un Serverless Sandbox