Ejecución de código

Muchas tareas de los agentes, como los cálculos financieros y los flujos de trabajo de ciencia de datos, requieren que un agente genere y ejecute código. La ejecución de código permite que tu agente ejecute código en un entorno de zona de pruebas seguro, aislado y administrado.

Estas son algunas de las características de la ejecución de código:

  • Las zonas de pruebas se pueden crear y ejecutar código en menos de un segundo.

  • Las zonas de pruebas admiten la entrada y salida de archivos de hasta 100 MB para toda la solicitud o respuesta.

  • Las zonas de pruebas mantienen su estado de ejecución (memoria) durante un máximo de 14 días. Este parámetro de configuración de tiempo de actividad (TTL) se puede configurar.

No es necesario que implementes tu agente en Agent Platform para usar la ejecución de código. Tu agente puede ejecutarse en cualquier lugar, incluso de forma local.

La ejecución de código funciona con cualquier framework de agente y cualquier modelo generativo.

Estas son las operaciones principales para trabajar con una zona de pruebas de ejecución de código:

  • Crear zona de pruebas: Crea un espacio seguro y aislado para ejecutar código no confiable o potencialmente dañino. Este aislamiento reduce los riesgos de seguridad, ya que evita que el código acceda a los recursos, los archivos o la red del sistema. Una zona de pruebas es fundamental cuando necesitas ejecutar código de forma segura, como para agentes de ciencia de datos, secuencias de comandos de organización o durante las pruebas de desarrollo. La zona de pruebas ofrece un sistema de archivos limitado y no tiene acceso a la red.

  • Obtener zona de pruebas: Muestra la configuración y el estado de una zona de pruebas de ejecución de código específica. Puedes verificar detalles como su estado actual (por ejemplo, en ejecución o detenido) y el tiempo de actividad (TTL). Esto te permite hacer un seguimiento de tus entornos de pruebas y verificar su estado antes o después de ejecutar el código.

  • Enumera las zonas de pruebas: Enumera todas las zonas de pruebas de ejecución de código de tu proyecto. Puedes filtrar los resultados por criterios como el estado o el tipo de zona de pruebas. Esto ayuda a verificar, supervisar y administrar muchas zonas de pruebas en tu proyecto.

  • Ejecutar código: Envía tu código junto con los archivos de entrada necesarios a la zona de pruebas para que se ejecute de forma segura. La respuesta incluye los resultados, como la salida estándar (stdout), el error estándar (stderr) y los archivos que genera el código. La zona de pruebas también puede mantener el estado, lo que permite que las llamadas posteriores a Execute Code se basen en las llamadas anteriores. Esto es fundamental para las sesiones interactivas o las tareas complejas que necesitan que el entorno mantenga el estado en varias ejecuciones de código.

Bibliotecas compatibles

La zona de pruebas de ejecución de código incluye las siguientes bibliotecas categorizadas por caso de uso. No puedes instalar tus propias bibliotecas en el entorno de zona de pruebas.

Ciencia de datos y aprendizaje automático

En esta sección, se incluyen bibliotecas esenciales para el análisis de datos, la manipulación, el aprendizaje automático y el procesamiento numérico.

Manejo de datos principales y números

  • numpy (2.1.3): Es un paquete fundamental para la computación numérica en Python, que proporciona compatibilidad con arrays y matrices grandes y multidimensionales, junto con una gran colección de funciones matemáticas de alto nivel para operar en estos arrays.
  • pandas (2.2.3): Es una biblioteca potente de análisis y manipulación de datos que ofrece estructuras de datos como DataFrame y Series para controlar datos estructurados.
  • scipy (1.15.2): Es un ecosistema de software de código abierto para matemáticas, ciencia e ingeniería. Se basa en NumPy y proporciona una gran cantidad de rutinas numéricas eficientes y fáciles de usar.
  • pyarrow (18.1.0): Plataforma de desarrollo de varios lenguajes para datos en memoria. Es especialmente útil para el manejo eficiente de datos y la interoperabilidad entre sistemas.
  • numexpr (2.14.1): Es un evaluador rápido de expresiones numéricas para NumPy, que optimiza las operaciones de arrays.
  • narwhals (2.19.0): Proporciona una forma de escribir código que funcione en varias bibliotecas de DataFrame (como pandas y Polars).

Frameworks de aprendizaje automático

  • scikit-learn (1.6.1): Herramientas simples y eficientes para la minería y el análisis de datos, basadas en NumPy, SciPy y matplotlib.
  • tensorflow (2.20.0): Es una plataforma de código abierto de extremo a extremo para el aprendizaje automático.
  • keras (3.14.0): API de redes neuronales de alto nivel, escrita en Python y capaz de ejecutarse sobre TensorFlow, CNTK o Theano.
  • xgboost (3.2.0): Es una biblioteca de potenciación del gradiente distribuido y optimizada diseñada para ser muy eficiente, flexible y portátil.
  • thinc (8.3.13): Es una biblioteca de aprendizaje profundo ligera que ofrece una API de programación funcional elegante y con verificación de tipos para componer modelos.

Procesamiento de lenguaje natural (PLN)

  • nltk (3.9.1): Es la plataforma líder para compilar programas de Python que funcionan con datos de lenguaje humano.
  • spacy (3.8.14): Biblioteca para el procesamiento avanzado de lenguaje natural en Python y Cython.
  • spacy-legacy (3.0.12): Componentes heredados para spaCy.
  • spacy-loggers (1.0.5): Utilidades de registro para proyectos de spaCy.
  • textblob (0.19.0): Biblioteca de procesamiento de texto simplificada, que proporciona una API simple para tareas comunes de PLN.
  • catalogue (2.0.10): Biblioteca pequeña para registros de funciones, que se suele usar en canalizaciones de PLN.
  • confection (1.3.3): Sistema de configuración, que suele usarse con spaCy.
  • cymem (2.0.13): Administración de la memoria para Cython, que usa spaCy.
  • murmurhash (1.0.15): Vinculaciones de Cython para MurmurHash, que usa spaCy.
  • preshed (3.0.13): Tablas hash de Cython y filtros de Bloom, que usa spaCy.
  • srsly (2.5.3): Utilidades de serialización modernas de alto rendimiento para Python.
  • wasabi (1.1.3): Utilidades ligeras de impresión y formato de consola.
  • weasel (1.0.0): Interfaz de línea de comandos para proyectos de spaCy.

Computación científica y simbólica

  • mpmath (1.3.0): Biblioteca de Python para aritmética de punto flotante real y compleja con precisión arbitraria.
  • sympy (1.13.3): Biblioteca de Python para matemáticas simbólicas.
  • networkx (3.6.1): Paquete para la creación, manipulación y estudio de la estructura, la dinámica y las funciones de redes complejas.

Rendimiento y optimización

  • numba (0.64.0): Compilador justo a tiempo para Python que traduce un subconjunto de código de Python y NumPy en código máquina rápido.
  • llvmlite (0.46.0): Vinculaciones ligeras de LLVM Python para usar con Numba.
  • blis (1.3.3): Biblioteca de álgebra lineal similar a BLAS, que suele ser una dependencia para paquetes numéricos.
  • opt_einsum (3.4.0): Optimiza las expresiones einsum en NumPy, TensorFlow y otras bibliotecas de arrays.
  • optree (0.19.0): Manipulación optimizada de PyTree en JAX.
  • nvidia-nccl-cu12 (2.29.7): Biblioteca de comunicaciones colectivas de NVIDIA, para la comunicación de varias GPU.

Modelado estadístico

  • statsmodels (0.14.6): Proporciona clases y funciones para la estimación de muchos modelos estadísticos diferentes, así como para realizar pruebas estadísticas y exploración de datos estadísticos.
  • patsy (1.0.2): Es una biblioteca de Python para describir modelos estadísticos y compilar matrices de diseño.

Investigación de operaciones

  • ortools (9.14.6206): Google Optimization Tools, un paquete de herramientas para la optimización combinatoria.

Visualización

Son bibliotecas para crear visualizaciones estáticas, animadas e interactivas.

  • matplotlib (3.10.1): Es una biblioteca completa para crear visualizaciones estáticas, animadas e interactivas en Python.
  • matplotlib-inline (0.2.1): Es el backend para incorporar trazados de matplotlib en notebooks de Jupyter.
  • matplotlib-venn (1.1.2): Es una biblioteca para trazar diagramas de Venn.
  • seaborn (0.13.2): Biblioteca de visualización de datos estadísticos basada en matplotlib. Proporciona una interfaz de alto nivel para dibujar gráficos estadísticos atractivos e informativos.
  • plotly (6.1.2): Biblioteca de gráficos interactivos que facilita la creación de gráficos atractivos y de calidad para publicaciones en línea y sin conexión.
  • bokeh (3.8.2): Biblioteca de visualización interactiva que se orienta a navegadores web modernos para la presentación.
  • mizani (0.13.5): Escalas para gráficos de Python, inspiradas en ggplot2.
  • contourpy (1.3.1): Proporciona algoritmos de generación de líneas de contorno.
  • cycler (0.12.1): Ciclos de estilo componibles para matplotlib.
  • fonttools (4.62.1): Biblioteca para manipular fuentes.
  • kiwisolver (1.5.0): Implementación eficiente en C++ del algoritmo de resolución de restricciones de Cassowary.

Procesamiento de imágenes y videos

Bibliotecas para trabajar con datos de imágenes y videos.

  • opencv-python (4.11.0.86): Vinculaciones de Python para OpenCV, una biblioteca de funciones de programación orientadas principalmente a la visión artificial en tiempo real.
  • pillow (11.1.0): Bifurcación amigable de la biblioteca de imágenes de Python (PIL), que agrega compatibilidad para abrir, manipular y guardar muchos formatos de archivos de imagen diferentes.
  • imageio (2.37.0): Biblioteca para leer y escribir una amplia variedad de datos de imágenes, incluidas imágenes animadas, videos y datos volumétricos.
  • scikit-image (0.25.2): Colección de algoritmos para el procesamiento de imágenes.
  • tifffile (2026.4.11): Lee y escribe archivos TIFF.

Manejo de archivos y E/S

Bibliotecas para leer, escribir y manipular varios formatos de archivo.

Excel

  • openpyxl (3.1.5): Biblioteca para leer y escribir archivos xlsx/xlsm/xltx/xltm de Excel 2010.
  • xlrd (2.0.1): Biblioteca para que los desarrolladores extraigan datos de archivos de hojas de cálculo de Microsoft Excel (tm).
  • XlsxWriter (3.2.0): Es un módulo para crear archivos de Excel en formato XSLX.

PDF

  • PyPDF2 (3.0.1): Biblioteca de PDF de Python puro capaz de dividir, combinar, recortar y transformar las páginas de archivos PDF.
  • fpdf (1.7.2): Biblioteca simple para la generación de PDF.
  • reportlab (4.3.1): Biblioteca potente para crear archivos PDF.
  • PyLaTeX (1.4.2): Biblioteca para crear y compilar archivos de LaTeX.

Word

  • python-docx (1.1.2): Biblioteca para crear y actualizar archivos de Microsoft Word (.docx).

PowerPoint

  • python-pptx (1.0.2): Biblioteca para crear y actualizar archivos de PowerPoint (.pptx).

XML/HTML

  • lxml (5.3.1): Biblioteca con muchas funciones y fácil de usar para procesar XML y HTML.
  • et_xmlfile (2.0.0): Biblioteca de memoria baja para crear archivos en formato XML grandes.

Markdown

  • Markdown (3.10.2): Implementación en Python de Markdown de John Gruber.
  • markdown-it-py (4.0.0): Analizador de Markdown, bien hecho. Compatibilidad con CommonMark al 100%.
  • mdurl (0.1.2): Utilidades de URL para Markdown.

YAML

  • PyYAML (6.0.3): Analizador y emisor de YAML para Python.

RTF

  • striprtf

E/S de archivos generales

  • h5py (3.16.0): Interfaz de Pythonic para el formato de datos binarios HDF5.
  • smart_open (7.6.0): Utilidades para transmitir archivos grandes (S3, HDFS, Cloud Storage, etc.).
  • cloudpathlib (0.23.0): Clases de estilo Pathlib para el almacenamiento en la nube.

Web y redes

Bibliotecas para solicitudes web, desarrollo de servidores y comunicación de red.

  • requests (2.33.1): Biblioteca HTTP elegante y simple para Python, creada para seres humanos.
  • httpx (0.28.1): Cliente HTTP con todas las funciones para Python, con compatibilidad con HTTP/1.1 y HTTP/2, y capacidades asíncronas.
  • httpcore (1.0.9): Cliente HTTP de bajo nivel, que forma el núcleo de HTTPX.
  • urllib3 (2.6.3): Cliente HTTP potente y fácil de usar para Python.
  • grpcio (1.80.0): Biblioteca de gRPC (llamada de procedimiento remoto de Google) de Python.
  • h11 (0.16.0): Implementación de E/S propia de HTTP/1.1 en Python puro.
  • idna (3.11): Compatibilidad con nombres de dominio internacionalizados en aplicaciones (IDNA) 2008.
  • certifi (2026.2.25): Proporciona la colección de certificados raíz de Mozilla, seleccionada con cuidado, para validar la confiabilidad de los certificados SSL.
  • tornado (6.5.5): Es un framework web y una biblioteca de redes asíncronas.
  • Werkzeug (3.1.8): Biblioteca completa de aplicaciones web de WSGI.
  • Jinja2 (3.1.6): Lenguaje de plantillas moderno y fácil de usar para diseñadores de Python.
  • MarkupSafe (3.0.3): Agrega de forma segura cadenas no confiables al lenguaje de marcado HTML/XML.

Herramientas y utilidades de desarrollo

Utilidades generales, herramientas para compilar aplicaciones y ayudas para el desarrollo.

Empaquetado y distribución

  • pip (24.2): Es el instalador de paquetes para Python.
  • setuptools (82.0.1): Biblioteca para empaquetar proyectos de Python.
  • wheel (0.46.3): Es el formato de paquete compilado para Python.
  • packaging (24.0): Utilidades principales para paquetes de Python.

Interfaces de línea de comandos (CLI)

  • click (8.3.2): Kit de herramientas de creación de interfaces de línea de comandos componibles.
  • typer (0.24.1): Biblioteca para compilar aplicaciones de CLI con sugerencias de tipo.
  • rich (15.0.0): Es una biblioteca para texto enriquecido y formato atractivo en la terminal.
  • termcolor (3.3.0): Formato de color ANSII para la salida en la terminal.
  • tqdm (4.67.3): Barra de progreso rápida y extensible para Python y la CLI.
  • shellingham (1.5.4): Es una herramienta para detectar la shell de un usuario.

Validación de datos y esquemas

  • pydantic (2.13.1): Validación de datos y administración de la configuración con anotaciones de tipo de Python.
  • pydantic_core (2.46.1): Es la lógica de validación principal para Pydantic.
  • annotated-types (0.7.0): Tipos de restricciones reutilizables para argumentos de funciones, variables y campos de clases de datos.
  • jsonschema (4.23.0): Implementación del esquema JSON para Python.
  • jsonschema-specifications (2024.10.1): Los metaesquemas y vocabularios del esquema JSON.
  • referencing (0.37.0): Resolución de referencia de JSON.

Serialización

  • protobuf (6.31.1): búferes de protocolo de Google.
  • flatbuffers (25.12.19): Biblioteca de serialización multiplataforma eficiente.

Simultaneidad y paralelismo

  • anyio (4.13.0): Es una capa de compatibilidad asíncrona que te permite escribir código asíncrono que funciona en diferentes bucles de eventos asíncronos.
  • joblib (1.4.2): Canalización ligera: herramientas para ejecutar funciones de Python como una canalización.
  • threadpoolctl (3.6.0): Es una interfaz de Python para controlar la cantidad de subprocesos que se usan en los grupos de subprocesos de las bibliotecas comunes.

Análisis

  • pyparsing (3.2.1): Enfoque alternativo para crear y ejecutar gramáticas simples, en comparación con el enfoque estándar de lex/yacc.
  • astunparse (1.6.3): Es un unparser para árboles de sintaxis abstracta de Python.

Interfaz de funciones externas (FFI) y de bajo nivel

  • libclang (18.1.1): Vinculaciones de Clang Python.

Fecha y hora

  • python-dateutil (2.9.0.post0): Extensiones para el módulo datetime estándar.
  • pytz (2025.2): Definiciones de zonas horarias mundiales, modernas e históricas.
  • tzdata (2025.3): Datos de zona horaria.

Servicios públicos generales

  • attrs (25.3.0): Clases sin código estándar.
  • toolz (1.0.0): Biblioteca estándar funcional para Python.
  • six (1.17.0): Utilidades de compatibilidad con Python 2 y 3.
  • wrapt (2.1.2): Módulo para decoradores, wrappers y monkey patching.
  • immutabledict (4.3.1): Diccionario inmutable.
  • ordered-set (4.1.0): Es una estructura de datos mutable que es un híbrido de una lista y un conjunto.
  • lazy-loader (0.5): Importa módulos de Python de forma diferida.
  • google-pasta (0.2.0): Biblioteca para refactorizar código de Python.
  • traitlets (5.14.3): Sistema de configuración para aplicaciones de Python.
  • regex (2026.4.4): Es un módulo de expresión regular alternativo para reemplazar el módulo re de Python.
  • chardet (7.4.3): Detector universal de codificación de caracteres.
  • charset-normalizer (3.4.7): El primer detector de conjuntos de caracteres universal real.
  • typing_extensions (4.15.0): Sugerencias de tipos experimentales y adaptadas para versiones anteriores para Python 3.7 y versiones posteriores.
  • typing-inspection (0.4.2): Inspección de tipos en tiempo de ejecución en Python.
  • Pygments (2.20.0): Resaltador de sintaxis de Python.
  • ml_dtypes (0.5.4): dtypes para el aprendizaje automático.
  • rpds-py (0.30.0): Estructuras de datos persistentes de Rust para Python.
  • annotated-doc (0.0.4): Biblioteca para la anotación de documentos.
  • namex (0.1.0): Biblioteca de utilidades.

Depuración y generación de perfiles

  • tensorboard (2.20.0): El kit de herramientas de visualización de TensorFlow.
  • tensorboard-data-server (0.7.2): Servidor de datos para TensorBoard.

Geoespacial

Bibliotecas diseñadas específicamente para controlar datos geoespaciales.

  • geopandas (1.0.1): Extiende los tipos de datos que usa pandas para permitir operaciones espaciales en tipos geométricos.
  • pyogrio (0.12.1): E/S vectorizada para formatos de archivos vectoriales geoespaciales.
  • pyproj (3.7.2): Interfaz de Python para PROJ (biblioteca de proyecciones cartográficas y transformaciones de coordenadas).
  • shapely (2.1.2): Paquete para la manipulación y el análisis de objetos geométricos planos.
  • xyzservices (2026.3.0): Es la fuente de los proveedores de mosaicos XYZ.

Varios

  • chess (1.11.2): Es una biblioteca de ajedrez de Python pura con generación y validación de movimientos, análisis y escritura de PGN, y mucho más.
  • gast (0.7.0): Es un convertidor genérico de AST a AST.

¿Qué sigue?