Skip to main content
wandb.sandbox est obsolète et sera supprimé dans une prochaine version du SDK Python W&B. Utilisez plutôt le package cwsandbox, décrit dans la documentation des sandboxes CoreWeave.La migration implique deux changements :
  • L’import. Installez cwsandbox avec l’extra W&B (pip install "cwsandbox[wandb]") et importez depuis cwsandbox au lieu de wandb.sandbox.
  • L’identifiant d’authentification. Par défaut, cwsandbox s’authentifie avec un CoreWeave API access token défini dans CWSANDBOX_API_KEY ; passez donc auth=AuthStrategy.WANDB pour continuer à utiliser votre clé API W&B. Voir Choose a credential.
Les exemples de cette page utilisent encore wandb.sandbox. Pour le code cwsandbox équivalent, voir Migrer vers cwsandbox.
Serverless Sandboxes est en préversion publique. L’accès est activé pour chaque organisation. Pour demander l’accès pour votre organisation, contactez l’assistance.
Serverless Sandboxes vous offre des environnements de calcul isolés à la demande, que vous pouvez créer, utiliser et supprimer avec Python. Serverless Sandboxes repose sur la bibliothèque CoreWeave Sandbox. Pour la référence de l’API sous-jacente et la documentation de la bibliothèque, voir la documentation CoreWeave Sandbox.

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 :
  1. Installez le SDK Python W&B (wandb) et les dépendances du sandbox serverless avec la commande suivante :
  2. 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 :
  3. Copiez-collez l’extrait de code suivant dans un fichier Python, puis exécutez-le. L’extrait de code effectue les opérations suivantes :
    1. Créez un sandbox avec Sandbox.run().
    2. Exécutez la commande echo "Hello from Serverless Sandboxes!" dans le sandbox à l’aide de la méthode Sandbox.exec().
    3. Affichez la sortie dans la console à l’aide de l’objet Process renvoyé par Sandbox.exec().
    hello_sandbox.py
    Vous devriez voir le message Hello from Serverless Sandboxes! s’afficher dans la console. Le sandbox s’arrête automatiquement à la sortie du gestionnaire de contexte (le bloc with). Pour plus d’informations sur le cycle de vie et les états du sandbox, voir Cycle de vie des sandboxes.

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 :
  1. Installez cwsandbox avec l’extra W&B. Cet extra installe la bibliothèque wandb, que cwsandbox utilise pour résoudre les credentials W&B :
  2. Importez depuis cwsandbox plutôt que depuis wandb.sandbox, et passez auth=AuthStrategy.WANDB lors de la création d’un sandbox ou d’une Session. Par défaut, cwsandbox lit un CoreWeave API access token depuis CWSANDBOX_API_KEY ; l’authentification W&B doit donc être sélectionnée explicitement :
    Avant : wandb.sandbox
    Après : cwsandbox
Vos credentials W&B sont résolus comme aujourd’hui : à partir d’une Session 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 :

Integrations

Les frameworks tiers suivants prennent en charge Serverless Sandboxes en tant que fournisseur de sandbox.