Streaming con llamadas a funciones
Ya has visto cuántos casos de uso se desbloquean con los LLMs que llaman a funciones, que además tienen sus propios tipos de eventos. Esto es útil para dar feedback en tiempo real a los usuarios cuando el modelo se prepara para llamar a una herramienta, o para registrar y hacer seguimiento del uso de herramientas.
La función convert_timezone() que definiste antes para convertir fechas y horas entre zonas horarias, y una lista tools que contiene la definición de la función para la Responses API, ya están definidas para ti.
Este ejercicio forma parte del curso
Trabajar con la API Responses de OpenAI
Instrucciones del ejercicio
- Completa el gestor de contexto de streaming llamando a
client.responses.create()con el modelo"gpt-5-mini", elprompty la listatools. - Dentro del bucle, comprueba si hay eventos
"function_call_arguments.delta". - Añade una condición para comprobar los eventos
"function_call_arguments.done". - Añade una última condición para comprobar si el tipo de evento es
"response.completed"y muestra un mensaje final de finalización.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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 ---")