Aan de slagGa gratis aan de slag

Streamen met functieroproepen

Je hebt al gezien hoeveel use-cases mogelijk worden met LLM’s die functieroproepen ondersteunen, met hun eigen eventtypes. Dat is handig om gebruikers realtime feedback te geven wanneer het model een tool gaat aanroepen, of om te loggen en het gebruik van tools te volgen.

De functie convert_timezone() die je eerder hebt gedefinieerd om datetimes tussen tijdzones om te zetten, en een tools-lijst met de functiedefinitie voor de Responses API zijn voor je klaargezet.

Deze oefening maakt deel uit van de cursus

Werken met de OpenAI Responses API

Cursus bekijken

Oefeninstructies

  • Maak de streaming-contextmanager af door client.responses.create() aan te roepen met het model "gpt-5-mini", de prompt en de tools-lijst.
  • Controleer binnen de lus of er "function_call_arguments.delta"-events zijn.
  • Voeg een voorwaarde toe om te controleren op "function_call_arguments.done"-events.
  • Voeg een laatste voorwaarde toe om te controleren of het eventtype "response.completed" is en print een afrondingsbericht.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 ---")
Code bewerken en uitvoeren