IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Completa il context manager di streaming chiamando client.responses.create() con il modello "gpt-5-mini", il prompt e la lista tools.
  • 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 ---")
Modifica ed esegui il codice