Strömning med funktionsanrop
Du har redan sett hur många användningsfall som öppnar sig med LLM:er som kan anropa funktioner – dessa har egna händelsetyper. Det är användbart för att ge användarna återkoppling i realtid när modellen förbereder ett verktygsanrop, eller för loggning för att spåra verktygsutnyttjande.
Funktionen convert_timezone() som du definierade tidigare för att konvertera datum och tider mellan tidszoner, samt en tools-lista med funktionsdefinitionen för Responses API, har redan skapats åt dig.
Den här övningen är en del av kursen
Arbeta med OpenAI Responses API
Övningsinstruktioner
- Slutför strömnings-kontexthanteraren genom att anropa
client.responses.create()med modellen"gpt-5.4-mini",promptochtools-listan. - Kontrollera inuti loopen om händelserna är av typen
"function_call_arguments.delta". - Lägg till ett villkor för att kontrollera händelser av typen
"function_call_arguments.done". - Lägg till ett sista villkor som kontrollerar om händelsetypen är
"response.completed"och skriver ut ett avslutande meddelande.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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 ---")