Streaming com eventos semânticos

Trabalhando com a OpenAI Responses API

James Chapman

AI Curriculum Manager, DataCamp

Por que fazer streaming?

streaming_desligado

Trabalhando com a OpenAI Responses API

Por que fazer streaming?

streaming_ligado

Trabalhando com a OpenAI Responses API

Eventos semânticos

  • Atualizações estruturadas que descrevem o que está acontecendo
Trabalhando com a OpenAI Responses API

Eventos semânticos

  • Atualizações estruturadas que descrevem o que está acontecendo
Tipo de evento Descrição
response.created O modelo começou a gerar
response.output_text.delta Atualização parcial de texto
response.output_text.done Bloco de texto concluído
response.function_call.arguments.delta Transmissão de argumentos da ferramenta
response.completed Resposta inteira finalizada
Trabalhando com a OpenAI Responses API

Exemplo: streaming básico de texto

prompt = "Explain the seasons of the year concisely to a child."

with client.responses.create(model="gpt-5-mini", input=prompt, stream=True) as stream:
current_text = ""
for event in stream: if event.type == "response.output_text.delta":
current_text += event.delta print(current_text)
Trabalhando com a OpenAI Responses API

Exemplo: streaming básico de texto

Streaming de texto

Trabalhando com a OpenAI Responses API

Exemplo: lidando com vários eventos

prompt = "Explain how a neural network learns concisely for a child."

with client.responses.create(model="gpt-5-mini", input=prompt, stream=True) as stream:

for event in stream: if event.type == "response.created":
print("Resposta iniciada...\n")
elif event.type == "response.output_text.done":
print("\n\n--- Bloco de texto concluído ---\n")
elif event.type == "response.completed":
print(f"\nResposta completa:\n{current_text}")
Trabalhando com a OpenAI Responses API

Exemplo: lidando com vários eventos

vários_eventos

Trabalhando com a OpenAI Responses API

Exemplo: streaming de eventos de ferramentas

convert_currency() -> str:

  • date_time: str
  • from_timezone: str
  • to_timezone: str
tools = [
    {
        "type": "function",
        "name": "convert_currency",
        ...
     }
]

frankfurter

Trabalhando com a OpenAI Responses API

Exemplo: streaming de eventos de ferramentas

prompt = "How much is 120 euros in British pounds using the current exchange rate?"

with client.responses.create(model="gpt-5-mini", input=prompt, tools=tools, stream=True) as stream:
current_args = ""
for event in stream: if event.type == "response.function_call_arguments.delta":
current_args += event.delta print("Transmitindo args:", current_args)
elif event.type == "response.function_call_arguments.done":
print("\nArgumentos finais:", event.arguments)
elif event.type == "response.completed":
print("\n--- Concluído ---")
Trabalhando com a OpenAI Responses API

Exemplo: streaming de eventos de ferramentas

streaming_eventos_ferramentas

Trabalhando com a OpenAI Responses API

Resumo

Eventos semânticos no ChatGPT

1 Eventos semânticos usados no ChatGPT
Trabalhando com a OpenAI Responses API

Vamos praticar!

Trabalhando com a OpenAI Responses API

Preparing Video For Download...