Flexibilidade de entrada e multimodalidade

Trabalhando com a OpenAI Responses API

James Chapman

AI Curriculum Manager, DataCamp

Flexibilidade de entrada

Prompts como strings

response = client.responses.create(
    model="gpt-5-mini"
    input="Quantos anos a Terra tem?",
    instructions="Responda de forma concisa."
)
  • input → entradas do usuário
  • instructions → comportamento + requisitos

Prompts baseados em papéis

response = client.responses.create(
    model="gpt-5-mini"
    input=[
        {"role": "system",
         "content": "Responda de forma concisa."},
        {"role": "user",
         "content": "Quantos anos a Terra tem?"}
    ]
)
Trabalhando com a OpenAI Responses API

Mensagens baseadas em papéis

response = client.responses.create(
    model="gpt-5-mini"
    input=[
        {"role": "system", "content": "Responda de forma concisa."},

{"role": "user", "content": "Quantos anos o Sol tem?"},
{"role": "assistant", "content": "4,603 bilhões de anos"},
{"role": "user", "content": "Quantos anos a Terra tem?"}
] )
Trabalhando com a OpenAI Responses API
sys_prompt = "Você é um(a) Professor(a) prestativo(a) que dá explicações concisas e personalizadas."
latest_response_id = None 

while True:
    user_input = input("Você: ").strip()
    if user_input.lower() == "exit":
        break

    response = client.responses.create(
        model="gpt-5-mini",
        instructions=sys_prompt,
        input=user_input,
        previous_response_id=latest_response_id
    )

    print(f"\nAssistente: {response.output_text}\n")
    latest_response_id = response.id
Trabalhando com a OpenAI Responses API
messages = [{"role": "system"},
            {"content": "Você é um(a) Professor(a) prestativo(a) que dá explicações concisas e personalizadas."}]


while True: user_input = input("Você: ").strip() if user_input.lower() == "exit": break messages.append({"role": "user", "content": user_input})
response = client.responses.create( model="gpt-5-mini", input=messages )
print(f"\nAssistente: {response.output_text}\n") messages.append({"role": "assistant", "content": response.output_text})
Trabalhando com a OpenAI Responses API

Imagens em prompts!

  • Multimodal: usa várias modalidades de conteúdo

Gráfico da AAPL no Yahoo Finance

1 Gráfico de ações da Apple, Inc. do yahoo!finance
Trabalhando com a OpenAI Responses API

URLs de imagens em prompts

response = client.responses.create(
    model="gpt-5-mini",
    input=[

{"role": "user", "content": [ {"type": "input_text", "text": "Interprete brevemente este gráfico de ações."}, {"type": "input_image", "image_url": "https://...stock_performance.jpg"}]}
] )
print(response.output_text)
Trabalhando com a OpenAI Responses API

URLs de imagens em prompts

- Resumo: Dia levemente de baixa — fechou em
277,18, queda de ~0,26% vs. o fechamento
anterior; no after-market caiu um pouco para
276,94.

Gráfico da AAPL no Yahoo Finance

1 Gráfico de ações da Apple, Inc. do yahoo!finance
Trabalhando com a OpenAI Responses API

Imagens de arquivos locais

import base64
# Codifica dados binários como texto ASCII
with open(image_path, "rb") as f:
    image_base64 = base64.b64encode(f.read()).decode("utf-8")
response = client.responses.create(
    model="gpt-5-mini",
    input=[
        {"role": "user", "content": [
          {"type": "input_text", "text": "Interprete brevemente este gráfico de ações."},

{"type": "input_image", "image_url": f"data:image/jpeg;base64,{image_base64}"}]}
] )
Trabalhando com a OpenAI Responses API

Vamos praticar!

Trabalhando com a OpenAI Responses API

Preparing Video For Download...