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. A execução de código permite que o agente execute código em um ambiente de sandbox seguro, isolado e gerenciado.

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

  • Os sandboxes podem ser criados e executar código em menos de um segundo.

  • Os sandboxes oferecem suporte a entrada e saída de arquivos de até 100 MB para toda a solicitação ou resposta.

  • Os sandboxes 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. O agente pode ser executado em qualquer lugar, até mesmo localmente.

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

Confira as principais operações para trabalhar com um sandbox de execução de código:

  • Criar sandbox: cria um espaço seguro e isolado para executar código não confiável ou potencialmente prejudicial. 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 conferir detalhes como o estado atual (por exemplo, em execução ou interrompido) e time to live (TTL). Isso permite rastrear seus sandboxes e verificar o status deles antes ou depois de executar o código.

  • Listar sandboxes: lista todos os sandboxes de execução de código no seu projeto. É possível filtrar os resultados por critérios como status ou tipo de sandbox. Isso ajuda a verificar, monitorar e gerenciar muitos sandboxes no seu projeto.

  • Executar código: envia o código junto com todos 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. O sandbox também pode manter o estado, o que permite que as chamadas subsequentes Execute Code sejam criadas com base em chamadas anteriores. Isso é essencial 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

O 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 e numéricos principais

  • numpy (2.1.3): pacote fundamental para computação numérica em Python, oferecendo 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 de análise e manipulação de dados avançada, 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 é baseado 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 idiomas para dados na memória. É particularmente útil para o tratamento eficiente de dados e a interoperabilidade entre sistemas.
  • numexpr (2.14.1): avaliador de expressão numérica rápida para NumPy, otimizando operações de matriz.
  • narwhals (2.19.0): oferece uma maneira de escrever código que funciona em várias bibliotecas do 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 no 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 de aprendizado profundo leve que oferece uma API de programação funcional elegante, verificada por tipo, para compor modelos.

Processamento de linguagem natural (PLN)

  • nltk (3.9.1): plataforma líder para criar programas Python para trabalhar 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 spaCy.
  • spacy-loggers (1.0.5): utilitários de registro para projetos spaCy.
  • textblob (0.19.0): biblioteca de processamento de texto simplificada, que fornece uma API simples para tarefas comuns de PLN.
  • catalogue (2.0.10): pequena biblioteca para registros de funções, geralmente usada em pipelines de PLN.
  • confection (1.3.3): sistema de configuração, geralmente usado com 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 Cython e filtros de bloom, usados pelo spaCy.
  • srsly (2.5.3): utilitários de serialização modernos 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 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 a 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 LLVM Python leves para uso com Numba.
  • blis (1.3.3): biblioteca de álgebra linear semelhante a BLAS, geralmente uma dependência de pacotes numéricos.
  • opt_einsum (3.4.0): otimização de expressões einsum em NumPy, TensorFlow e outras bibliotecas de matriz.
  • 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 estimativa de muitos modelos estatísticos diferentes, bem como para a realização de 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 conjunto 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 matplotlib em notebooks Jupyter.
  • matplotlib-venn (1.1.2): biblioteca para plotar diagramas de Venn.
  • seaborn (0.13.2): biblioteca de visualização de dados estatísticos com base em matplotlib. Ela fornece 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 bonitos e de qualidade de publicação on-line e off-line.
  • bokeh (3.8.2): biblioteca de visualização interativa que segmenta navegadores da Web modernos para apresentação.
  • mizani (0.13.5): escalas para gráficos 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 de Cassowary.

Processamento de imagem e vídeo

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

  • opencv-python (4.11.0.86): vinculações 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 Python (PIL, na sigla em inglês), adicionando suporte para abrir, manipular e salvar muitos formatos de arquivo de imagem diferentes.
  • imageio (2.37.0): biblioteca para ler e gravar uma ampla variedade de dados de imagem, incluindo imagens animadas, vídeo 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.

Tratamento de arquivos e E/S

Bibliotecas para ler, gravar e manipular vários formatos de arquivo.

Excel

  • openpyxl (3.1.5): biblioteca para ler/gravar arquivos xlsx/xlsm/xltx/xltm do Excel 2010.
  • xlrd (2.0.1): biblioteca para desenvolvedores extraírem dados de arquivos de planilha 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 pura do Python 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 avançada 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 completa e fácil de usar 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 do Markdown de John Gruber em Python.
  • markdown-it-py (4.0.0): analisador de Markdown, feito corretamente. Suporte 100% 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 transmitir 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 seres humanos.
  • httpx (0.28.1): cliente HTTP completo para Python, com suporte a HTTP/1.1 e HTTP/2, e 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 avançado e fácil de usar para Python.
  • grpcio (1.80.0): biblioteca gRPC (chamada de procedimento remoto do Google) do Python.
  • h11 (0.16.0): implementação de E/S própria do HTTP/1.1 em Python puro.
  • idna (3.11): suporte a Nomes de domínio internacionalizados em aplicativos (IDNA) 2008.
  • certifi (2026.2.25): fornece a coleção cuidadosamente selecionada de certificados raiz do Mozilla 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 modelo moderna e fácil de usar para designers para Python.
  • MarkupSafe (3.0.3): adicione 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 auxílios de desenvolvimento.

Empacotamento 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 de 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 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.19): 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): pipeline leve: ferramentas para executar funções Python como um pipeline.
  • threadpoolctl (3.6.0): interface Python para controlar o número de linhas de execução usadas em pools de linhas de execução de bibliotecas comuns.

Análise

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

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

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

Data e hora

  • python-dateutil (2.9.0.post0): extensões para o 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 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 de codificação de caracteres universal.
  • charset-normalizer (3.4.7): o primeiro detector de conjunto de caracteres universal real.
  • typing_extensions (4.15.0): dicas de tipo backportadas e experimentais para Python 3.7 e versões mais recentes.
  • typing-inspection (0.4.2): inspeção de tipos em tempo de execução no Python.
  • Pygments (2.20.0): realçador de sintaxe Python.
  • ml_dtypes (0.5.4): dtypes para machine learning.
  • rpds-py (0.30.0): estruturas de dados persistentes de 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 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 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 planos.
  • xyzservices (2026.3.0): fonte de provedores de blocos XYZ.

Diversos

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

A seguir