Streaming con Function Call
Hai già visto quanti casi d'uso si sbloccano con gli LLM che supportano le function call, che hanno tipi di evento dedicati. Questo è utile per fornire feedback in tempo reale agli utenti quando il modello si sta preparando a chiamare uno strumento, o per fare logging e tracciare l'uso degli strumenti.
La funzione convert_timezone() che hai definito prima per convertire date/ore tra fusi orari, e una lista tools contenente la definizione della funzione per la Responses API, sono già state definite per te.
Questo esercizio fa parte del corso
Lavorare con la Responses API di OpenAI
Istruzioni dell'esercizio
- Completa il context manager di streaming chiamando
client.responses.create()con il modello"gpt-5-mini", ilprompte la listatools. - All'interno del ciclo, controlla gli eventi
"function_call_arguments.delta". - Aggiungi una condizione per controllare gli eventi
"function_call_arguments.done". - Aggiungi un'ultima condizione per verificare se il tipo di evento è
"response.completed"e stampa un messaggio finale di completamento.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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 ---")