Outil d'exécution de code
L’outil d’exécution de code permet à Claude d’exécuter du code Python dans un environnement sécurisé et isolé. Claude peut analyser des données, créer des visualisations, effectuer des calculs complexes et traiter des fichiers téléchargés directement dans la conversation API.
L’outil d’exécution de code est actuellement en version bêta.
Cette fonctionnalité nécessite l’en-tête bêta : "anthropic-beta": "code-execution-2025-05-22"
Modèles pris en charge
L’outil d’exécution de code est disponible sur :
- Claude Opus 4 (
claude-opus-4-20250514
) - Claude Sonnet 4 (
claude-sonnet-4-20250514
) - Claude Sonnet 3.7 (
claude-3-7-sonnet-20250219
) - Claude Haiku 3.5 (
claude-3-5-haiku-latest
)
Démarrage rapide
Voici un exemple simple qui demande à Claude d’effectuer un calcul :
Comment fonctionne l’exécution de code
Lorsque vous ajoutez l’outil d’exécution de code à votre requête API :
- Claude évalue si l’exécution de code aiderait à répondre à votre question
- Claude écrit et exécute du code Python dans un environnement sandbox sécurisé
- L’exécution de code peut se produire plusieurs fois au cours d’une seule requête
- Claude fournit les résultats avec tous les graphiques, calculs ou analyses générés
Définition de l’outil
L’outil d’exécution de code ne nécessite aucun paramètre supplémentaire :
Format de réponse
Voici un exemple de réponse avec exécution de code :
Résultats
Les résultats d’exécution de code incluent :
stdout
: Sortie des instructions print et de l’exécution réussiestderr
: Messages d’erreur si l’exécution du code échouereturn_code
(0 pour le succès, non-zéro pour l’échec)
Erreurs
S’il y a une erreur lors de l’utilisation de l’outil, il y aura un code_execution_tool_result_error
Les erreurs possibles incluent
unavailable
: L’outil d’exécution de code n’est pas disponiblecode_execution_exceeded
: Le temps d’exécution a dépassé le maximum autorisécontainer_expired
: Le conteneur a expiré et n’est pas disponible
Raison d’arrêt pause_turn
La réponse peut inclure une raison d’arrêt pause_turn
, qui indique que l’API a mis en pause un tour de longue durée. Vous pouvez
fournir la réponse telle quelle dans une requête ultérieure pour laisser Claude continuer son tour, ou modifier le contenu si vous
souhaitez interrompre la conversation.
Travailler avec des fichiers dans l’exécution de code
L’exécution de code peut analyser des fichiers téléchargés via l’API Files, tels que des fichiers CSV, des fichiers Excel et d’autres formats de données. Cela permet à Claude de lire, traiter et générer des insights à partir de vos données. Vous pouvez passer plusieurs fichiers par requête.
L’utilisation de l’API Files avec l’exécution de code nécessite deux en-têtes bêta : "anthropic-beta": "code-execution-2025-05-22,files-api-2025-04-14"
Types de fichiers pris en charge
L’environnement Python est capable de travailler avec, mais sans s’y limiter, les types de fichiers suivants
- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- Images (JPEG, PNG, GIF, WebP)
- Fichiers texte (.txt, .md, .py, etc)
Chargement de fichiers pour l’exécution de code
- Téléchargez votre fichier en utilisant l’API Files
- Référencez le fichier dans votre message en utilisant un bloc de contenu
container_upload
- Incluez l’outil d’exécution de code dans votre requête API
Récupération de fichiers créés par l’exécution de code
Lorsque Claude crée des fichiers pendant l’exécution de code (par exemple, sauvegarder des graphiques matplotlib, générer des CSV), vous pouvez récupérer ces fichiers en utilisant l’API Files :
Conteneurs
L’outil d’exécution de code s’exécute dans un environnement conteneurisé sécurisé conçu spécifiquement pour l’exécution de code Python.
Environnement d’exécution
- Version Python : 3.11.12
- Système d’exploitation : Conteneur basé sur Linux
- Architecture : x86_64 (AMD64)
Limites de ressources
- Mémoire : 1GiB RAM
- Espace disque : 5GiB de stockage d’espace de travail
- CPU : 1 CPU
Réseau et sécurité
- Accès Internet : Complètement désactivé pour la sécurité
- Connexions externes : Aucune requête réseau sortante autorisée
- Isolation sandbox : Isolation complète du système hôte et des autres conteneurs
- Accès aux fichiers : Limité au répertoire d’espace de travail uniquement
- Portée de l’espace de travail : Comme les Files, les conteneurs sont limités à l’espace de travail de la clé API
- Expiration : Les conteneurs expirent 1 heure après la création
Bibliothèques pré-installées
L’environnement Python en sandbox inclut ces bibliothèques couramment utilisées :
- Science des données : pandas, numpy, scipy, scikit-learn, statsmodels
- Visualisation : matplotlib
- Traitement de fichiers : pyarrow, openpyxl, xlrd, pillow
- Mathématiques et calcul : sympy, mpmath
- Utilitaires : tqdm, python-dateutil, pytz, joblib
Réutilisation de conteneur
Vous pouvez réutiliser un conteneur existant à travers plusieurs requêtes API en fournissant l’ID de conteneur d’une réponse précédente. Cela vous permet de maintenir les fichiers créés entre les requêtes.
Exemple
Streaming
Avec le streaming activé, vous recevrez les événements d’exécution de code au fur et à mesure qu’ils se produisent :
Requêtes par lots
Vous pouvez inclure l’outil d’exécution de code dans l’API Messages Batches. Les appels d’outil d’exécution de code via l’API Messages Batches sont facturés de la même manière que ceux dans les requêtes API Messages régulières.
Utilisation et tarification
The code execution tool usage is tracked separately from token usage. Execution time is a minimum of 5 minutes. If files are included in the request, execution time is billed even if the tool is not used due to files being preloaded onto the container.
Pricing: $0.05 per session-hour.