Prérequis
Avant de commencer, vous devez disposer des éléments suivants :- Un terminal macOS ou Linux avec soit Python 3.12 ou version ultérieure et
uv, soit Node.js 22 ou version ultérieure. - Une clé API Forge ou un jeton d’accès à l’API CoreWeave.
- Des identifiants d’authentification pour un fournisseur de modèles pris en charge par Pi. Ce guide utilise Serverless Inference, qui nécessite des crédits d’inférence.
- L’URL d’un dépôt Git public. Pour les dépôts privés, une authentification Git distincte est nécessaire dans la sandbox.
Choisir les identifiants d’authentification de la sandbox
Ces exemples utilisent la capacité sans serveur. Les deux types d’identifiants d’authentification prennent en charge les bacs à sable sans serveur. Pour obtenir l’un ou l’autre, consultez Choisir et obtenir des identifiants d’authentification. Les identifiants d’authentification de l’agent et du fournisseur de modèles se configurent séparément. Après avoir créé votre projet local dans la section suivante, enregistrezsandbox_auth.py ou sandbox-client.mts, selon votre langage, dans le même répertoire que les scripts que vous exécuterez dans ce guide. Utilisez ce même fichier pour la création, la reconnexion et le nettoyage. Il conserve votre choix de méthode d’authentification, et non la clé elle-même.
- Clé API Forge
- Jeton d’accès à l’API CoreWeave
Remplacez
[WANDB-API-KEY] par votre clé API Forge et exportez-la dans votre terminal local :- Python
- TypeScript
sandbox_auth.py
Préparer votre environnement local
Créez un projet local et installez le kit de développement logiciel (SDK) Sandbox :- Python
- TypeScript
Créer la sandbox
Enregistrez le script correspondant à votre langage sous le nomcreate_pi_sandbox.py ou create_pi_sandbox.mts. Il crée une sandbox CPU, installe Pi 0.87.1 et clone le dépôt. L’image Node.js fournit l’environnement d’exécution ainsi que Git. En cas d’échec de la configuration, le script arrête la sandbox avant de signaler l’erreur.
- Python
- TypeScript
create_pi_sandbox.py
[REPOSITORY-URL] par l’URL de votre dépôt, puis exécutez :
- Python
- TypeScript
0.87.1, s’affiche. La sandbox continue de s’exécuter une fois le script terminé, jusqu’à ce que vous l’arrêtiez ou que sa durée de vie de 4 heures arrive à expiration. La durée de vie inclut le temps de démarrage.
Connecter votre terminal
Enregistrez le script correspondant à votre langage sous le nomattach_sandbox.py ou attach_sandbox.mts. Il transmet les entrées de votre terminal à un shell Bash dans la sandbox, puis restaure les paramètres de votre terminal local à la fermeture du shell.
- Python
- TypeScript
attach_sandbox.py
[SANDBOX-ID] par l’ID de votre sandbox :
- Python
- TypeScript
Choisir un fournisseur de modèle
Choisissez l’une des options suivantes. Dans ce guide, l’authentification auprès de la sandbox et celle auprès du modèle reposent sur des identifiants d’authentification distincts. Pi peut accéder aux identifiants d’authentification fournis à son processus et peut envoyer le contenu du Workspace au fournisseur de modèle sélectionné.Utiliser Serverless Inference
Nous vous recommandons Serverless Inference pour ce guide pas à pas. L’exemple utilisezai-org/GLM-5.2. Si un autre modèle du catalogue de modèles convient mieux à votre tâche, choisissez-le.
Dans le shell de la sandbox, à l’invite masquée, saisissez une clé API Forge associée à un compte disposant de crédits d’inférence :
~/.pi/agent/models.json. Comme le heredoc est entre guillemets, la référence à la variable d’environnement est conservée telle quelle et la clé n’apparaît pas dans le fichier :
/workspace/project et zai-org/GLM-5.2 dans la zone de statut. Soumettez une tâche comme indiqué dans Exécuter Pi et vérifier son travail pour vérifier l’accès au modèle.
La configuration limite chaque réponse à 8 192 jetons. Si vous changez de modèle, mettez à jour l’ID du modèle et ses capacités en fonction du fournisseur. Pour découvrir d’autres options de configuration, consultez Configuration du modèle Pi.
Utiliser un autre fournisseur
Pour utiliser directement Anthropic ou OpenAI, choisissez la clé API correspondante et lancez Pi dans le même shell de la sandbox :- Anthropic
- OpenAI
/model dans Pi pour choisir un modèle disponible auprès de votre fournisseur. La documentation de Pi sur les fournisseurs, dont le lien figure dans les prérequis, présente les autres fournisseurs ainsi que les options de connexion par compte.
Exécuter Pi et vérifier son travail
Si Pi affiche une demande de confiance pour le projet, suivez les instructions. Pour vérifier que Pi peut créer et lire un fichier dans le dépôt cloné, soumettez cette tâche dans Pi :/quit pour revenir au shell de la sandbox. Pi affiche une ligne To resume this session: suivie d’une commande pi --session. Conservez cette commande pour rouvrir cette conversation.
Vérifiez le fichier par vous-même :
Hello from CoreWeave.
Pour exécuter une tâche sans intervention avec la configuration Forge, lancez Pi en mode impression depuis le même shell :
Se reconnecter à une conversation
Pour vous reconnecter pendant que le sandbox est en cours d’exécution, exécutez de nouveau le script d’attachement. Ressaisissez les clés API que vous aviez fournies dans le shell précédent, puis revenez au répertoire/workspace/project avant de démarrer Pi. Pour rouvrir votre conversation interactive, remplacez [SESSION-ID] par l’ID indiqué sur la ligne To resume this session: que Pi a affichée lorsque vous l’avez quitté :
pi --continue pour reprendre la session la plus récente du projet. Si vous avez exécuté l’exemple en mode impression après votre conversation interactive, c’est la session en mode impression qui est reprise. Pour revenir à une conversation précise, utilisez --session.
Récupérer le résultat et arrêter la sandbox
Saisissezexit pour quitter le shell de la sandbox. Dans votre terminal local, enregistrez le script correspondant à votre langage sous le nom collect_pi_result.py ou collect_pi_result.mts :
- Python
- TypeScript
collect_pi_result.py
[SANDBOX-ID] par l’ID de votre sandbox et exécutez le script :
- Python
- TypeScript
stop_pi_sandbox.py ou stop_pi_sandbox.mts :
- Python
- TypeScript
stop_pi_sandbox.py
- Python
- TypeScript
Dépannage
Effectuez les vérifications suivantes pour résoudre les problèmes courants :- Si la création du sandbox échoue, vérifiez l’identifiant d’authentification de votre sandbox ainsi que les exigences d’authentification des sandboxes, dont le lien figure dans les prérequis.
- Si Pi ne parvient pas à s’authentifier, vérifiez que l’identifiant d’authentification du modèle est exporté dans le shell qui lance Pi. Avec Forge, vérifiez également vos crédits d’inférence et l’ID du modèle.
- Si Pi ne parvient pas à joindre son fournisseur, vérifiez l’accès sortant au point de terminaison du fournisseur. L’installation et le clonage nécessitent également un accès à npm et à votre hébergeur Git.
- Si votre connexion est interrompue, rattachez-vous au sandbox tant qu’il est en cours d’exécution. Pour qu’un processus survive aux déconnexions du terminal, utilisez un multiplexeur de terminal tel que
tmux.
Étapes suivantes
Pour plus d’informations, voir les ressources suivantes :- Shells interactifs explique comment accéder au terminal via le SDK.
- Opérations sur les fichiers explique comment téléverser et récupérer les fichiers du Workspace.
- La documentation de Pi présente les sessions, la sélection de modèle et les extensions.