Streamování s voláním funkcí
Už víš, kolik možností odemkne volání funkcí u LLM modelů – a tyto modely mají vlastní typy událostí. To se hodí například pro zobrazení průběžné zpětné vazby uživatelům ve chvíli, kdy se model chystá zavolat nástroj, nebo pro logování sledující využití nástrojů.
Funkce convert_timezone(), kterou jsi dříve definoval/a pro převod data a času mezi časovými pásmy, a seznam tools obsahující definici funkce pro Responses API jsou již připraveny.
Toto cvičení je součástí kurzu
Working with the OpenAI Responses API
Pokyny k cvičení
- Dokonči streamovací context manager voláním
client.responses.create()s modelem"gpt-5.4-mini", proměnnouprompta seznamemtools. - Uvnitř smyčky zkontroluj, zda se jedná o události
"function_call_arguments.delta". - Přidej podmínku pro zachycení události
"function_call_arguments.done". - Přidej poslední podmínku, která zkontroluje, zda je typ události
"response.completed", a vypiše závěrečnou zprávu o dokončení.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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 ---")