Utilize a ferramenta "code_interpreter"

Concluído

A ferramenta code_interpreter fornece ao seu modelo um runtime em Python no qual pode gerar e executar código em Python.

Qual é a ferramenta code_interpreter?

A ferramenta code_interpreter permite que modelos de IA generativa escrevam e executem código Python dinamicamente durante uma conversa. Em vez de apenas discutir código ou algoritmos, o modelo pode testar a sua lógica, processar dados e devolver resultados reais do código. Isto transforma o modelo de pensador em fazedor.

Os principais recursos incluem:

  • Execução Dinâmica em Python: O modelo escreve e executa código Python num ambiente sandboxing
  • Gestão de ficheiros: Carregar, processar e descarregar ficheiros (CSV, JSON, imagens, etc.)
  • Análise de Dados: Realizar cálculos, análises estatísticas e transformações de dados em tempo real
  • Feedback em Tempo Real: O modelo vê resultados de execução de código e pode iterar ou corrigir erros
  • Resolução de Problemas Complexos: Abordar problemas matemáticos, simulações e enigmas lógicos através de código executável

Casos comuns de utilização

Caso de uso Exemplo
Análise de Dados Analise um ficheiro CSV e gere estatísticas resumo
Matemática & Física Resolver equações diferenciais ou simular cenários de física
Conversão de ficheiros Converter entre formatos de dados (JSON ↔, CSV, e assim por diante)
Prototipagem Algoritmos de teste e ideias antes da implementação formal

Um exemplo simples

Aqui está como usar code_interpreter com a API OpenAI Responses:

from openai import OpenAI

client = OpenAI(
    base_url={openai_endpoint},
    api_key={auth_key_or_token}
)

# Get response using the code_interpreter tool
response = client.responses.create(
    model={model_deployment},
    instructions="You are an AI assistant that provides information. Use the python tool to run code for math problems.",
    input="What is the square root of 16?",
    tools=[{"type": "code_interpreter",
            "container": {"type": "auto"}}]
)
print(response.output_text)

A saída deste código é semelhante a esta:

The square root of 16 is 4.

Mais importante ainda, inspecionar os detalhes do objeto resposta devolvido pelo modelo revela que o resultado foi calculado e devolvido ao modelo usando código Python gerado dinamicamente como este:

import math

# Calculate the square root of 16
square_root = math.sqrt(16)
square_root

Como funciona a ferramenta code_interpreter

O processo geral para usar a ferramenta code_interpreter é:

  1. Envia um pedido: Inclua-code_interpreter no seu conjunto de ferramentas.
  2. O modelo analisa a tarefa: O modelo determina se é necessária a execução de código.
  3. O modelo gera código: O modelo escreve código Python para realizar a tarefa.
  4. Execuções de código: O código corre num ambiente sandbox com acesso a bibliotecas comuns (por exemplo, pandas, numpy e math).
  5. Resultados retornados: O modelo recebe a saída e incorpora-a na sua resposta.

Melhores práticas

  • Seja específico: Descreva claramente o formato dos dados e o resultado esperado. Muitos modelos usam internamente a ferramenta python para identificar a ferramenta code_interpreter – por isso usa esta linguagem nas tuas instruções.
  • Forneça contexto: Inclua conhecimento relevante do domínio nos seus prompts
  • Validar resultados: Sempre rever o código gerado por IA para verificar a correção antes de o usar em produção
  • Monitorizar custos: A execução do código adiciona tokens; Operações complexas podem usar mais recursos
  • Utilizar bibliotecas: Pacotes comuns como pandas, numpy e matplotlib estão pré-instalados
  • Gestão de erros: O modelo pode detetar erros e tentará corrigi-los automaticamente

Limitações a conhecer

  • As execuções são executadas num ambiente sandbox, sem acesso à rede externa
  • Algumas bibliotecas podem não estar disponíveis; Informe o modelo se uma biblioteca padrão falhar
  • Os limites de timeout aplicam-se a operações de longa duração
  • O código corre com restrições de memória — conjuntos de dados massivos podem precisar de streaming ou fragmentação