Execução de código

Muitas tarefas do agente, como cálculos financeiros e fluxos de trabalho de ciência de dados, exigem que um agente gere e execute código. Com a execução de código, seu agente pode executar código em um ambiente de sandbox seguro, isolado e gerenciado.

Os recursos de execução de código incluem:

  • É possível criar sandboxes e executar código em menos de um segundo.

  • Os ambientes de simulação aceitam entrada e saída de arquivos de até 100 MB para toda a solicitação ou resposta.

  • Os sandbox mantêm o estado de execução (memória) por até 14 dias. Essa configuração de time to live (TTL) é configurável.

Não é necessário implantar seu agente no Agent Platform para usar a execução de código. Seu agente pode ser executado em qualquer lugar, até mesmo localmente.

A execução de código funciona com qualquer framework de agente e modelo generativo.

Estas são as principais operações para trabalhar com uma sandbox de execução de código:

  • Criar sandbox: cria um espaço seguro e isolado para executar códigos não confiáveis ou potencialmente prejudiciais. Esse isolamento reduz os riscos de segurança, impedindo que o código toque nos recursos, arquivos ou rede do sistema. Um sandbox é essencial quando você precisa executar código com segurança, como para agentes de ciência de dados, scripts de orquestração ou durante testes de desenvolvimento. O sandbox oferece um sistema de arquivos limitado e nenhum acesso à rede.

  • Receber sandbox: mostra a configuração e o status de um sandbox de execução de código específico. É possível verificar detalhes como o estado atual (por exemplo, em execução ou parado) e time to live (TTL). Assim, é possível rastrear seus sandboxes e verificar o status deles antes ou depois de executar o código.

  • Listar sandboxes: lista todas as sandboxes de execução de código no seu projeto. Você pode filtrar os resultados por critérios como status ou tipo de sandbox. Isso ajuda a verificar, monitorar e gerenciar muitas caixas de simulação no seu projeto.

  • Executar código: envia seu código com os arquivos de entrada necessários para o sandbox para execução segura. A resposta inclui os resultados, como saída padrão (stdout), erro padrão (stderr) e todos os arquivos gerados pelo código. A sandbox também pode manter o estado, o que permite que as chamadas Execute Code subsequentes sejam criadas com base em chamadas anteriores. Isso é crucial para sessões interativas ou tarefas complexas que precisam que o ambiente mantenha o estado em várias execuções de código.

Bibliotecas permitidas

A sandbox de execução de código inclui as seguintes bibliotecas categorizadas por caso de uso. Não é possível instalar suas próprias bibliotecas no ambiente de sandbox.

Ciência de dados e machine learning

Esta seção inclui bibliotecas essenciais para análise de dados, manipulação, machine learning e computação numérica.

Tratamento de dados principais e numéricos

  • numpy (2.1.3): pacote fundamental para computação numérica em Python, que oferece suporte a matrizes e matrizes grandes e multidimensionais, além de uma grande coleção de funções matemáticas de alto nível para operar nessas matrizes.
  • pandas (2.2.3): biblioteca avançada de análise de dados e manipulação de dados, que oferece estruturas de dados como DataFrame e Series para processar dados estruturados.
  • scipy (1.15.2): ecossistema de software de código aberto para matemática, ciência e engenharia. Ele se baseia no NumPy e oferece um grande número de rotinas numéricas eficientes e fáceis de usar.
  • pyarrow (18.1.0): plataforma de desenvolvimento entre linguagens para dados na memória. Isso é especialmente útil para o processamento eficiente de dados e a interoperabilidade entre sistemas.
  • numexpr (2.14.1): avaliador de expressões numéricas rápido para NumPy, otimizando operações de matriz.
  • narwhals (2.19.0): oferece uma maneira de escrever código que funciona em várias bibliotecas DataFrame (como pandas e Polars).

Frameworks de machine learning

  • scikit-learn (1.6.1): ferramentas simples e eficientes para mineração e análise de dados, criadas com base em NumPy, SciPy e matplotlib.
  • tensorflow (2.20.0): uma plataforma completa de código aberto para machine learning.
  • keras (3.14.0): API de redes neurais de alto nível, escrita em Python e capaz de ser executada no TensorFlow, CNTK ou Theano.
  • xgboost (3.2.0): biblioteca otimizada de otimização de gradiente distribuído projetada para ser altamente eficiente, flexível e portátil.
  • thinc (8.3.13): uma biblioteca leve de aprendizado profundo que oferece uma API de programação funcional elegante, com verificação de tipos, para compor modelos.

Processamento de linguagem natural (PLN)

  • nltk (3.9.1): plataforma líder para criar programas em Python que trabalham com dados de linguagem humana.
  • spacy (3.8.14): biblioteca para processamento de linguagem natural avançado em Python e Cython.
  • spacy-legacy (3.0.12): componentes legados para o spaCy.
  • spacy-loggers (1.0.5): utilitários de geração de registros para projetos do spaCy.
  • textblob (0.19.0): biblioteca simplificada de processamento de texto que fornece uma API simples para tarefas comuns de PLN.
  • catalogue (2.0.10): biblioteca pequena para registros de funções, geralmente usada em pipelines de PLN.
  • confection (1.3.3): sistema de configuração, geralmente usado com o spaCy.
  • cymem (2.0.13): gerenciamento de memória para Cython, usado pelo spaCy.
  • murmurhash (1.0.15): vinculações Cython para MurmurHash, usadas pelo spaCy.
  • preshed (3.0.13): tabelas de hash e filtros de Bloom do Cython, usados pelo spaCy.
  • srsly (2.5.3): utilitários de serialização modernos e de alta performance para Python.
  • wasabi (1.1.3): utilitários leves de impressão e formatação de console.
  • weasel (1.0.0): interface de linha de comando para projetos do spaCy.

Computação científica e simbólica

  • mpmath (1.3.0): biblioteca Python para aritmética de usar pontos flutuantes real e complexa com precisão arbitrária.
  • sympy (1.13.3): biblioteca Python para matemática simbólica.
  • networkx (3.6.1): pacote para criação, manipulação e estudo da estrutura, dinâmica e funções de redes complexas.

Performance e otimização

  • numba (0.64.0): compilador just-in-time para Python que traduz um subconjunto de código Python e NumPy em código de máquina rápido.
  • llvmlite (0.46.0): vinculações leves do LLVM Python para uso com o Numba.
  • blis (1.3.3): biblioteca de álgebra linear semelhante a BLAS, geralmente uma dependência para pacotes numéricos.
  • opt_einsum (3.4.0): otimiza expressões einsum em NumPy, TensorFlow e outras bibliotecas de matrizes.
  • optree (0.19.0): manipulação otimizada de PyTree no JAX.
  • nvidia-nccl-cu12 (2.29.7): NVIDIA Collective Communication Library, para comunicação com várias GPUs.

Modelagem estatística

  • statsmodels (0.14.6): fornece classes e funções para a estimação de vários modelos estatísticos diferentes, além de realizar testes estatísticos e exploração de dados estatísticos.
  • patsy (1.0.2): uma biblioteca Python para descrever modelos estatísticos e criar matrizes de design.

Pesquisa operacional

  • ortools (9.14.6206): Google Optimization Tools, um pacote de ferramentas para otimização combinatória.

Visualização

Bibliotecas para criar visualizações estáticas, animadas e interativas.

  • matplotlib (3.10.1): biblioteca abrangente para criar visualizações estáticas, animadas e interativas em Python.
  • matplotlib-inline (0.2.1): back-end para incorporar gráficos do matplotlib em notebooks do Jupyter.
  • matplotlib-venn (1.1.2): biblioteca para criar diagramas de Venn.
  • seaborn (0.13.2): biblioteca de visualização de dados estatísticos baseada em matplotlib. Ela oferece uma interface de alto nível para desenhar gráficos estatísticos atraentes e informativos.
  • plotly (6.1.2): biblioteca de gráficos interativos que facilita a criação de gráficos on-line e off-line bonitos e de qualidade para publicação.
  • bokeh (3.8.2): biblioteca de visualização interativa para navegadores da Web modernos.
  • mizani (0.13.5): escalas para gráficos em Python, inspiradas no ggplot2.
  • contourpy (1.3.1): fornece algoritmos de geração de linhas de contorno.
  • cycler (0.12.1): ciclos de estilo combináveis para matplotlib.
  • fonttools (4.62.1): biblioteca para manipular fontes.
  • kiwisolver (1.5.0): implementação eficiente em C++ do algoritmo de resolução de restrições do Cassowary.

Processamento de imagens e vídeos

Bibliotecas para trabalhar com dados de imagem e vídeo.

  • opencv-python (4.11.0.86): vinculações do Python para OpenCV, uma biblioteca de funções de programação voltada principalmente para visão computacional em tempo real.
  • pillow (11.1.0): fork amigável da biblioteca de imagens do Python (PIL), adicionando suporte para abrir, manipular e salvar muitos formatos de arquivo de imagem diferentes.
  • imageio (2.37.0): biblioteca para leitura e gravação de uma ampla variedade de dados de imagem, incluindo imagens animadas, vídeos e dados volumétricos.
  • scikit-image (0.25.2): coleção de algoritmos para processamento de imagens.
  • tifffile (2026.4.11): lê e grava arquivos TIFF.

Processamento de arquivos e E/S

Bibliotecas para leitura, gravação e manipulação de vários formatos de arquivo.

Excel

  • openpyxl (3.1.5): biblioteca para ler/gravar arquivos do Excel 2010 xlsx/xlsm/xltx/xltm.
  • xlrd (2.0.1): biblioteca para desenvolvedores extraírem dados de arquivos de planilhas do Microsoft Excel (tm).
  • XlsxWriter (3.2.0): módulo para criar arquivos do Excel no formato XSLX.

PDF

  • PyPDF2 (3.0.1): biblioteca PDF em Python puro capaz de dividir, mesclar, cortar e transformar as páginas de arquivos PDF.
  • fpdf (1.7.2): biblioteca simples para geração de PDF.
  • reportlab (4.3.1): biblioteca eficiente para criar PDFs.
  • PyLaTeX (1.4.2): biblioteca para criar e compilar arquivos LaTeX.

Word

  • python-docx (1.1.2): biblioteca para criar e atualizar arquivos do Microsoft Word (.docx).

PowerPoint

  • python-pptx (1.0.2): biblioteca para criar e atualizar arquivos do PowerPoint (.pptx).

XML/HTML

  • lxml (5.3.1): biblioteca fácil de usar e com muitos recursos para processar XML e HTML.
  • et_xmlfile (2.0.0): biblioteca de baixa memória para criar arquivos XML grandes.

Markdown

  • Markdown (3.10.2): implementação em Python do Markdown de John Gruber.
  • markdown-it-py (4.0.0): analisador de Markdown, feito da maneira certa. 100% de suporte ao CommonMark.
  • mdurl (0.1.2): utilitários de URL para Markdown.

YAML

  • PyYAML (6.0.3): analisador e emissor YAML para Python.

RTF

  • striprtf (0.0.28): biblioteca para extrair texto simples de documentos RTF.

E/S de arquivos gerais

  • h5py (3.16.0): interface Pythonic para o formato de dados binários HDF5.
  • smart_open (7.6.0): utilitários para streaming de arquivos grandes (S3, HDFS, GCS etc.).
  • cloudpathlib (0.23.0): classes de estilo Pathlib para armazenamento em nuvem.

Web e rede

Bibliotecas para solicitações da Web, desenvolvimento de servidores e comunicação de rede.

  • requests (2.33.1): biblioteca HTTP elegante e simples para Python, criada para humanos.
  • httpx (0.28.1): cliente HTTP completo para Python, com suporte para HTTP/1.1 e HTTP/2, além de recursos assíncronos.
  • httpcore (1.0.9): cliente HTTP de baixo nível, que forma o núcleo do HTTPX.
  • urllib3 (2.6.3): cliente HTTP eficiente e fácil de usar para Python.
  • grpcio (1.80.0): biblioteca Python gRPC (chamada de procedimento remoto do Google).
  • h11 (0.16.0): implementação de E/S própria e pura em Python do HTTP/1.1.
  • idna (3.11): suporte a Nomes de domínio internacionalizados em aplicativos (IDNA) 2008.
  • certifi (25/02/2026): fornece a coleção cuidadosamente selecionada da Mozilla de certificados raiz para validar a confiabilidade dos certificados SSL.
  • tornado (6.5.5): framework da Web e biblioteca de rede assíncrona.
  • Werkzeug (3.1.8): biblioteca abrangente de aplicativos da Web WSGI.
  • Jinja2 (3.1.6): linguagem de modelos moderna e fácil de usar para designers em Python.
  • MarkupSafe (3.0.3): adiciona strings não confiáveis com segurança à marcação HTML/XML.

Ferramentas e utilitários de desenvolvimento

Utilitários gerais, ferramentas para criar aplicativos e recursos de desenvolvimento.

Embalagem e distribuição

  • pip (24.2): o instalador de pacotes para Python.
  • setuptools (82.0.1): biblioteca para empacotar projetos Python.
  • wheel (0.46.3): formato de pacote criado para Python.
  • packaging (24.0): utilitários principais para pacotes Python.

Interfaces de linha de comando (CLI)

  • click (8.3.2): kit de ferramentas para criação de interface de linha de comando combinável.
  • typer (0.24.1): biblioteca para criar aplicativos de CLI com dicas de tipo.
  • rich (15.0.0): biblioteca para rich text e formatação bonita no terminal.
  • termcolor (3.3.0): formatação de cores ANSII para saída no terminal.
  • tqdm (4.67.3): barra de progresso rápida e extensível para Python e CLI.
  • shellingham (1.5.4): ferramenta para detectar o shell de um usuário.

Validação de dados e esquemas

  • pydantic (2.13.1): validação de dados e gerenciamento de configurações usando anotações de tipo do Python.
  • pydantic_core (2.46.1): lógica de validação principal para Pydantic.
  • annotated-types (0.7.0): tipos de restrição reutilizáveis para argumentos de função, variáveis e campos de dataclass.
  • jsonschema (4.23.0): implementação do esquema JSON para Python.
  • jsonschema-specifications (2024.10.1): os metaesquemas e vocabulários do esquema JSON.
  • referencing (0.37.0): resolução de referência JSON.

Serialização

  • protobuf (6.31.1): buffers de protocolo do Google.
  • flatbuffers (25/12/2019): biblioteca de serialização multiplataforma eficiente.

Simultaneidade e paralelismo

  • anyio (4.13.0): camada de compatibilidade assíncrona que permite escrever código assíncrono que funciona em diferentes loops de eventos assíncronos.
  • joblib (1.4.2): pipelining leve: ferramentas para executar funções Python como um pipeline.
  • threadpoolctl (3.6.0): interface Python para controlar o número de threads usadas em pools de threads de bibliotecas comuns.

Análise

  • pyparsing (3.2.1): abordagem alternativa para criar e executar gramáticas simples, em vez da abordagem padrão lex/yacc.
  • astunparse (1.6.3): descompilador para árvores de sintaxe abstrata do Python.

Interface de função externa (FFI) e de baixo nível

  • libclang (18.1.1): vinculações do Python do Clang.

Data e hora

  • python-dateutil (2.9.0.post0): extensões do módulo datetime padrão.
  • pytz (2025.2): definições de fuso horário mundial, modernas e históricas.
  • tzdata (2025.3): dados de fuso horário.

Utilitários gerais

  • attrs (25.3.0): classes sem boilerplate.
  • toolz (1.0.0): biblioteca padrão funcional para Python.
  • six (1.17.0): utilitários de compatibilidade com Python 2 e 3.
  • wrapt (2.1.2): módulo para decoradores, wrappers e monkey patching.
  • immutabledict (4.3.1): dicionário imutável.
  • ordered-set (4.1.0): estrutura de dados mutável que é um híbrido de uma lista e um conjunto.
  • lazy-loader (0.5): importa módulos do Python de forma lenta.
  • google-pasta (0.2.0): biblioteca para refatorar código Python.
  • traitlets (5.14.3): sistema de configuração para aplicativos Python.
  • regex (2026.4.4): módulo de expressão regular alternativo para substituir o módulo re do Python.
  • chardet (7.4.3): detector universal de codificação de caracteres.
  • charset-normalizer (3.4.7): o primeiro detector universal de conjuntos de caracteres real.
  • typing_extensions (4.15.0): dicas de tipo experimentais e portadas para versões anteriores do Python 3.7 ou mais recentes.
  • typing-inspection (0.4.2): inspeção de tipos em tempo de execução no Python.
  • Pygments (2.20.0): destaque de sintaxe do Python.
  • ml_dtypes (0.5.4): dtypes para machine learning.
  • rpds-py (0.30.0): estruturas de dados persistentes do Rust para Python.
  • annotated-doc (0.0.4): biblioteca para anotação de documentos.
  • namex (0.1.0): biblioteca de utilitários.

Depuração e criação de perfis

  • tensorboard (2.20.0): kit de ferramentas de visualização do TensorFlow.
  • tensorboard-data-server (0.7.2): servidor de dados para o TensorBoard.

Geoespacial

Bibliotecas projetadas especificamente para processar dados geoespaciais.

  • geopandas (1.0.1): estende os tipos de dados usados pelo pandas para permitir operações espaciais em tipos geométricos.
  • pyogrio (0.12.1): E/S vetorizada para formatos de arquivo vetorial geoespacial.
  • pyproj (3.7.2): interface do Python para PROJ (projeções cartográficas e biblioteca de transformações de coordenadas).
  • shapely (2.1.2): pacote para manipulação e análise de objetos geométricos planares.
  • xyzservices (2026.3.0): fonte de provedores de blocos XYZ.

Diversos

  • chess (1.11.2): uma biblioteca de xadrez em Python puro com geração e validação de movimentos, análise e gravação de PGN e muito mais.
  • gast (0.7.0): um conversor genérico de AST para AST.

A seguir