Exécution du code

De nombreuses tâches d'agent, comme les calculs financiers et les workflows de science des données, nécessitent qu'un agent génère et exécute du code. L'exécution de code permet à votre agent d'exécuter du code dans un environnement de bac à sable sécurisé, isolé et géré.

Voici quelques fonctionnalités d'exécution de code :

  • Les bacs à sable peuvent être créés et exécuter du code en moins d'une seconde.

  • Les bacs à sable acceptent les entrées et sorties de fichiers jusqu'à 100 Mo pour l'ensemble de la requête ou de la réponse.

  • Les bacs à sable conservent leur état d'exécution (mémoire) pendant 14 jours maximum. Ce paramètre valeur TTL (Time To Live) est configurable.

Vous n'êtes pas obligé de déployer votre agent sur Agent Platform pour utiliser l'exécution de code. Votre agent peut s'exécuter n'importe où, même en local.

L'exécution de code fonctionne avec n'importe quel framework d'agent et n'importe quel modèle génératif.

Voici les principales opérations pour travailler avec un bac à sable d'exécution de code :

  • Créer un bac à sable : crée un espace sécurisé et isolé pour exécuter du code non fiable ou potentiellement dangereux. Cette isolation réduit les risques de sécurité en empêchant le code d'accéder aux ressources, aux fichiers ou au réseau de votre système. Un bac à sable est essentiel lorsque vous devez exécuter du code en toute sécurité, par exemple pour les agents de science des données, les scripts d'orchestration ou lors des tests de développement. Le bac à sable offre un système de fichiers limité et aucun accès au réseau.

  • Obtenir le bac à sable : affiche la configuration et l'état d'un bac à sable d'exécution de code spécifique. Vous pouvez consulter des informations telles que son état actuel (par exemple, en cours d'exécution ou arrêté) et sa valeur TTL (Time To Live). Cela vous permet de suivre vos bacs à sable et de vérifier leur état avant ou après l'exécution du code.

  • Lister les bacs à sable : liste tous les bacs à sable d'exécution de code de votre projet. Vous pouvez filtrer les résultats selon des critères tels que l'état ou le type de bac à sable. Cela vous aide à vérifier, surveiller et gérer de nombreux bacs à sable dans votre projet.

  • Exécuter le code : envoie votre code ainsi que tous les fichiers d'entrée requis au bac à sable pour une exécution sécurisée. La réponse inclut les résultats, tels que la sortie standard (stdout), l'erreur standard (stderr) et tous les fichiers générés par le code. Le bac à sable peut également conserver l'état, ce qui permet aux appels Execute Code ultérieurs de s'appuyer sur les appels précédents. C'est essentiel pour les sessions interactives ou les tâches complexes qui nécessitent que l'environnement conserve l'état sur plusieurs exécutions de code.

Bibliothèques prises en charge

Le bac à sable d'exécution du code inclut les bibliothèques suivantes, classées par cas d'utilisation. Vous ne pouvez pas installer vos propres bibliothèques dans l'environnement de bac à sable.

Data science et machine learning

Cette section inclut les bibliothèques essentielles pour l'analyse de données, la manipulation, le machine learning et le calcul numérique.

Gestion des données de base et des valeurs numériques

  • numpy (2.1.3) : package fondamental pour le calcul numérique en Python, qui permet de gérer de grands tableaux et matrices multidimensionnels, ainsi qu'une vaste collection de fonctions mathématiques de haut niveau pour effectuer des opérations sur ces tableaux.
  • pandas (2.2.3) : bibliothèque puissante d'analyse et de manipulation de données, offrant des structures de données telles que DataFrame et Series pour la gestion des données structurées.
  • scipy (1.15.2) : écosystème de logiciels Open Source pour les mathématiques, les sciences et l'ingénierie. Elle repose sur NumPy et fournit un grand nombre de routines numériques conviviales et efficaces.
  • pyarrow (18.1.0) : plate-forme de développement multilingue pour les données en mémoire. Il est particulièrement utile pour gérer efficacement les données et assurer l'interopérabilité entre les systèmes.
  • numexpr (2.14.1) : évaluateur d'expressions numériques rapide pour NumPy, qui optimise les opérations sur les tableaux.
  • narwhals (2.19.0) : permet d'écrire du code fonctionnant sur plusieurs bibliothèques DataFrame (comme pandas et Polars).

Frameworks de machine learning

  • scikit-learn (1.6.1) : outils simples et efficaces pour l'exploration et l'analyse des données, basés sur NumPy, SciPy et matplotlib.
  • tensorflow (2.20.0) : plate-forme Open Source de bout en bout pour le machine learning.
  • keras (3.14.0) : API de réseaux de neurones de haut niveau, écrite en Python et capable de s'exécuter sur TensorFlow, CNTK ou Theano.
  • xgboost (3.2.0) : bibliothèque d'optimisation de gradient distribuée optimisée pour être hautement efficace, flexible et portable.
  • thinc (8.3.13) : bibliothèque de deep learning légère qui offre une API de programmation fonctionnelle élégante et vérifiée par type pour composer des modèles.

Traitement du langage naturel (TLN)

  • nltk (3.9.1) : plate-forme de référence pour la création de programmes Python permettant de traiter les données de langage humain.
  • spacy (3.8.14) : bibliothèque pour le traitement avancé du langage naturel dans Python et Cython.
  • spacy-legacy (3.0.12) : composants anciens pour spaCy.
  • spacy-loggers (1.0.5) : utilitaires de journalisation pour les projets spaCy.
  • textblob (0.19.0) : bibliothèque de traitement de texte simplifiée, qui fournit une API simple pour les tâches courantes de traitement du langage naturel.
  • catalogue (2.0.10) : petite bibliothèque pour les registres de fonctions, souvent utilisée dans les pipelines de traitement du langage naturel.
  • confection (1.3.3) : système de configuration, souvent utilisé avec spaCy.
  • cymem (2.0.13) : gestion de la mémoire pour Cython, utilisée par spaCy.
  • murmurhash (1.0.15) : liaisons Cython pour MurmurHash, utilisées par spaCy.
  • preshed (3.0.13) : tables de hachage et filtres Bloom Cython, utilisés par spaCy.
  • srsly (2.5.3) : utilitaires de sérialisation modernes et performants pour Python.
  • wasabi (1.1.3) : utilitaires légers d'impression et de mise en forme de la console.
  • weasel (1.0.0) : interface de ligne de commande pour les projets spaCy.

Calcul scientifique et symbolique

  • mpmath (1.3.0) : bibliothèque Python pour l'arithmétique à virgule flottante réelle et complexe avec une précision arbitraire.
  • sympy (1.13.3) : bibliothèque Python pour les mathématiques symboliques.
  • networkx (3.6.1) : package permettant de créer, de manipuler et d'étudier la structure, la dynamique et les fonctions de réseaux complexes.

Performances et optimisation

  • numba (0.64.0) : compilateur à la volée pour Python qui traduit un sous-ensemble de code Python et NumPy en code machine rapide.
  • llvmlite (0.46.0) : liaisons Python LLVM légères à utiliser avec Numba.
  • blis (1.3.3) : bibliothèque d'algèbre linéaire de type BLAS, souvent une dépendance pour les packages numériques.
  • opt_einsum (3.4.0) : optimisation des expressions einsum dans NumPy, TensorFlow et d'autres bibliothèques de tableaux.
  • optree (0.19.0) : manipulation optimisée de PyTree dans JAX.
  • nvidia-nccl-cu12 (2.29.7) : bibliothèque NVIDIA Collective Communication Library, pour la communication multi-GPU.

Modélisation statistique

  • statsmodels (0.14.6) : fournit des classes et des fonctions pour l'estimation de nombreux modèles statistiques différents, ainsi que pour la réalisation de tests statistiques et l'exploration de données statistiques.
  • patsy (1.0.2) : bibliothèque Python permettant de décrire des modèles statistiques et de créer des matrices de conception.

Recherche opérationnelle

  • ortools (9.14.6206) : Google Optimization Tools, une suite d'outils pour l'optimisation combinatoire.

Visualisation

Bibliothèques permettant de créer des visualisations statiques, animées et interactives.

  • matplotlib (3.10.1) : bibliothèque complète pour créer des visualisations statiques, animées et interactives en Python.
  • matplotlib-inline (0.2.1) : backend pour intégrer des graphiques matplotlib dans les notebooks Jupyter.
  • matplotlib-venn (1.1.2) : bibliothèque permettant de représenter des diagrammes de Venn.
  • seaborn (0.13.2) : bibliothèque de visualisation de données statistiques basée sur matplotlib. Il fournit une interface de haut niveau pour dessiner des graphiques statistiques attrayants et informatifs.
  • plotly (6.1.2) : bibliothèque de graphiques interactifs qui permet de créer facilement des graphiques de qualité professionnelle en ligne et hors connexion.
  • bokeh (3.8.2) : bibliothèque de visualisation interactive ciblant les navigateurs Web modernes pour la présentation.
  • mizani (0.13.5) : échelles pour les graphiques Python, inspirées de ggplot2.
  • contourpy (1.3.1) : fournit des algorithmes de génération de lignes de contour.
  • cycler (0.12.1) : cycles de style composables pour matplotlib.
  • fonttools (4.62.1) : bibliothèque permettant de manipuler les polices.
  • kiwisolver (1.5.0) : implémentation C++ efficace de l'algorithme de résolution de contraintes Cassowary.

Traitement d'images et de vidéos

Bibliothèques permettant d'utiliser des données d'images et de vidéos.

  • opencv-python (4.11.0.86) : liaisons Python pour OpenCV, une bibliothèque de fonctions de programmation principalement destinées à la vision par ordinateur en temps réel.
  • pillow (11.1.0) : fork convivial de la bibliothèque Python Imaging Library (PIL), qui ajoute la prise en charge de l'ouverture, de la manipulation et de l'enregistrement de nombreux formats de fichiers image différents.
  • imageio (2.37.0) : bibliothèque permettant de lire et d'écrire un large éventail de données d'image, y compris des images animées, des vidéos et des données volumétriques.
  • scikit-image (0.25.2) : collection d'algorithmes pour le traitement d'images.
  • tifffile (2026.4.11) : lire et écrire des fichiers TIFF.

Gestion des fichiers et E/S

Bibliothèques permettant de lire, d'écrire et de manipuler différents formats de fichiers.

Excel

  • openpyxl (3.1.5) : bibliothèque permettant de lire/écrire des fichiers Excel 2010 aux formats xlsx/xlsm/xltx/xltm.
  • xlrd (2.0.1) : bibliothèque permettant aux développeurs d'extraire des données à partir de fichiers de feuille de calcul Microsoft Excel (tm).
  • XlsxWriter (3.2.0) : module permettant de créer des fichiers Excel au format XLSX.

PDF

  • PyPDF2 (3.0.1) : bibliothèque PDF purement Python permettant de fractionner, fusionner, recadrer et transformer les pages des fichiers PDF.
  • fpdf (1.7.2) : bibliothèque simple pour la génération de PDF.
  • reportlab (4.3.1) : bibliothèque puissante pour créer des PDF.
  • PyLaTeX (1.4.2) : bibliothèque permettant de créer et de compiler des fichiers LaTeX.

Word

  • python-docx (1.1.2) : bibliothèque permettant de créer et de mettre à jour des fichiers Microsoft Word (.docx).

PowerPoint

  • python-pptx (1.0.2) : bibliothèque permettant de créer et de mettre à jour des fichiers PowerPoint (.pptx).

XML/HTML

  • lxml (5.3.1) : bibliothèque riche en fonctionnalités et facile à utiliser pour traiter les fichiers XML et HTML.
  • et_xmlfile (2.0.0) : bibliothèque à faible mémoire pour créer des fichiers XML volumineux.

Markdown

  • Markdown (3.10.2) : implémentation Python de Markdown de John Gruber.
  • markdown-it-py (4.0.0) : analyseur Markdown, fait correctement. Prise en charge à 100% de CommonMark.
  • mdurl (0.1.2) : utilitaires d'URL pour Markdown.

YAML

  • PyYAML (6.0.3) : analyseur et émetteur YAML pour Python.

RTF

  • striprtf (0.0.28) : bibliothèque permettant d'extraire du texte brut à partir de documents RTF.

E/S de fichiers généraux

  • h5py (3.16.0) : interface Pythonique pour le format de données binaires HDF5.
  • smart_open (7.6.0) : utilitaires pour le streaming de fichiers volumineux (S3, HDFS, GCS, etc.).
  • cloudpathlib (0.23.0) : classes de style Pathlib pour le stockage cloud.

Web et Mise en réseau

Bibliothèques pour les requêtes Web, le développement de serveurs et la communication réseau.

  • requests (2.33.1) : bibliothèque HTTP élégante et simple pour Python, conçue pour les humains.
  • httpx (0.28.1) : client HTTP complet pour Python, compatible avec HTTP/1.1 et HTTP/2, et avec les capacités asynchrones.
  • httpcore (1.0.9) : client HTTP de bas niveau, qui constitue le cœur de HTTPX.
  • urllib3 (2.6.3) : client HTTP puissant et convivial pour Python.
  • grpcio (1.80.0) : bibliothèque Python gRPC (appel de procédure à distance Google).
  • h11 (0.16.0) : implémentation HTTP/1.1 en Python pur, avec votre propre E/S.
  • idna (3.11) : prise en charge des noms de domaine internationalisés dans les applications (IDNA) 2008.
  • certifi (25/02/2026) : fournit la collection de certificats racine de Mozilla, soigneusement sélectionnée pour valider la fiabilité des certificats SSL.
  • tornado (6.5.5) : framework Web et bibliothèque réseau asynchrone.
  • Werkzeug (3.1.8) : bibliothèque complète d'applications Web WSGI.
  • Jinja2 (3.1.6) : langage de création de modèles moderne et convivial pour Python.
  • MarkupSafe (3.0.3) : ajoutez des chaînes non fiables au balisage HTML/XML de manière sécurisée.

Outils et utilitaires de développement

Utilitaires généraux, outils de création d'applications et aides au développement.

Emballage et distribution

  • pip (24.2) : programme d'installation de packages pour Python.
  • setuptools (82.0.1) : bibliothèque pour l'empaquetage de projets Python.
  • wheel (0.46.3) : format de package compilé pour Python.
  • packaging (24.0) : utilitaires de base pour les packages Python.

Interfaces de ligne de commande (CLI)

  • click (8.3.2) : boîte à outils pour la création d'interfaces de ligne de commande composables.
  • typer (0.24.1) : bibliothèque permettant de créer des applications CLI avec des indications de type.
  • rich (15.0.0) : bibliothèque pour le texte enrichi et la mise en forme esthétique dans le terminal.
  • termcolor (3.3.0) : mise en forme des couleurs ANSII pour la sortie dans le terminal.
  • tqdm (4.67.3) : barre de progression rapide et extensible pour Python et CLI.
  • shellingham (1.5.4) : outil permettant de détecter le shell d'un utilisateur.

Validation des données et schémas

  • pydantic (2.13.1) : validation des données et gestion des paramètres à l'aide d'annotations de type Python.
  • pydantic_core (2.46.1) : logique de validation principale pour Pydantic.
  • annotated-types (0.7.0) : types de contraintes réutilisables pour les arguments de fonction, les variables et les champs de classe de données.
  • jsonschema (4.23.0) : implémentation du schéma JSON pour Python.
  • jsonschema-specifications (2024.10.1) : métaschémas et vocabulaires JSON Schema.
  • referencing (0.37.0) : résolution des références JSON.

Sérialisation

  • protobuf (6.31.1) : Protocol Buffers de Google.
  • flatbuffers (25.12.19) : bibliothèque de sérialisation multiplate-forme efficace.

Simultanéité et parallélisme

  • anyio (4.13.0) : couche de compatibilité asynchrone qui vous permet d'écrire du code asynchrone fonctionnant sur différentes boucles d'événements asynchrones.
  • joblib (1.4.2) : outils de pipeline léger pour exécuter des fonctions Python en tant que pipeline.
  • threadpoolctl (3.6.0) : interface Python permettant de contrôler le nombre de threads utilisés dans les pools de threads des bibliothèques courantes.

Analyse

  • pyparsing (3.2.1) : autre approche pour créer et exécuter des grammaires simples, par rapport à l'approche lex/yacc standard.
  • astunparse (1.6.3) : unparser pour les arbres de syntaxe abstraite Python.

Interface de fonction étrangère (FFI) et de bas niveau

  • libclang (18.1.1) : liaisons Python de Clang.

Date et heure

  • python-dateutil (2.9.0.post0) : extensions du module datetime standard.
  • pytz (2025.2) : définitions des fuseaux horaires du monde, modernes et historiques.
  • tzdata (2025.3) : données de fuseau horaire.

Utilitaires généraux

  • attrs (25.3.0) : classes sans code récurrent.
  • toolz (1.0.0) : bibliothèque standard fonctionnelle pour Python.
  • six (1.17.0) : utilitaires de compatibilité Python 2 et 3.
  • wrapt (2.1.2) : module pour les décorateurs, les wrappers et le monkey patching.
  • immutabledict (4.3.1) : dictionnaire immuable.
  • ordered-set (4.1.0) : structure de données mutable qui est un hybride de liste et d'ensemble.
  • lazy-loader (0.5) : importe les modules Python de manière différée.
  • google-pasta (0.2.0) : bibliothèque permettant de refactoriser le code Python.
  • traitlets (5.14.3) : système de configuration pour les applications Python.
  • regex (2026.4.4) : module d'expression régulière alternatif, pour remplacer le module re de Python.
  • chardet (7.4.3) : détecteur d'encodage de caractères universel.
  • charset-normalizer (3.4.7) : le premier détecteur de jeu de caractères universel.
  • typing_extensions (4.15.0) : annotations de type expérimentales et rétroportées pour Python 3.7+.
  • typing-inspection (0.4.2) : inspection des types au moment de l'exécution en Python.
  • Pygments (2.20.0) : outil de mise en surbrillance de la syntaxe Python.
  • ml_dtypes (0.5.4) : dtypes pour le machine learning.
  • rpds-py (0.30.0) : structures de données persistantes Rust pour Python.
  • annotated-doc (0.0.4) : bibliothèque pour l'annotation de documents.
  • namex (0.1.0) : bibliothèque d'utilitaires.

Débogage et profilage

  • tensorboard (2.20.0) : boîte à outils de visualisation de TensorFlow.
  • tensorboard-data-server (0.7.2) : serveur de données pour TensorBoard.

Géomatique

Bibliothèques spécialement conçues pour gérer les données géospatiales.

  • geopandas (1.0.1) : étend les types de données utilisés par pandas pour permettre les opérations spatiales sur les types géométriques.
  • pyogrio (0.12.1) : E/S vectorisées pour les formats de fichiers vectoriels géospatiaux.
  • pyproj (3.7.2) : interface Python pour PROJ (bibliothèque de projections cartographiques et de transformations de coordonnées).
  • shapely (2.1.2) : package permettant de manipuler et d'analyser des objets géométriques plans.
  • xyzservices (2026.3.0) : source des fournisseurs de tuiles XYZ.

Autres

  • chess (1.11.2) : bibliothèque d'échecs Python pur avec génération et validation de mouvements, analyse et écriture PGN, etc.
  • gast (0.7.0) : convertisseur AST vers AST générique.

Étapes suivantes