Streaming con llamadas a funciones
Ya has visto cuántos casos de uso se desbloquean con los LLMs que hacen llamadas a funciones, que además tienen sus propios tipos de evento. Esto es útil para dar retroalimentación en tiempo real a los usuarios cuando el modelo se está preparando para llamar a una herramienta, o para registrar y seguir el 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.4-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 condición final para comprobar si el tipo de evento es
"response.completed"y muestra un mensaje final al completar.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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 ---")