Streaming com chamadas de função
Você já viu quantos casos de uso são liberados com LLMs que fazem chamadas de função, que têm seus próprios tipos de evento. Isso é útil para fornecer feedback em tempo real aos usuários quando o modelo está se preparando para chamar uma ferramenta, ou para registrar logs e acompanhar o uso de ferramentas.
A função convert_timezone() que você definiu antes para converter datetimes entre fusos horários e uma lista tools contendo a definição da função para a Responses API já foram definidas para você.
Este exercício faz parte do curso
Trabalhando com a OpenAI Responses API
Instruções do exercício
- Complete o gerenciador de contexto de streaming chamando
client.responses.create()com o modelo"gpt-5-mini", oprompte a listatools. - Dentro do loop, verifique se há eventos
"function_call_arguments.delta". - Adicione uma condição para verificar eventos
"function_call_arguments.done". - Adicione uma condição final para verificar se o tipo do evento é
"response.completed"e imprima uma mensagem final de conclusão.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
prompt = "What time is 2:30pm on January 20th in New York in Tokyo time?"
# Open the streaming connection and enable tool-calling
with ____ as stream:
for event in stream:
# Filter for function call arguments delta events
if ____:
print(f"\nTool args streaming: {event.delta}")
# Filter for function call arguments complete events
elif ____:
print("Tool call args complete.")
# Filter for response completed events
elif ____:
print("\n--- Completed ---")