Strumieniowanie z wywołaniami funkcji
Wiesz już, ile możliwości otwierają LLM-y z wywołaniami funkcji — mają one własne typy zdarzeń. To przydatne, gdy chcesz informować użytkowników na bieżąco o tym, że model przygotowuje się do wywołania narzędzia, albo gdy logujesz dane w celu śledzenia jego użycia.
Funkcja convert_timezone(), którą wcześniej zdefiniowałeś do konwersji dat i godzin między strefami czasowymi, oraz lista tools zawierająca definicję funkcji dla Responses API zostały już przygotowane.
To ćwiczenie jest częścią kursu
Praca z API Responses OpenAI
Instrukcje do ćwiczenia
- Uzupełnij menedżer kontekstu strumieniowania, wywołując
client.responses.create()z modelem"gpt-5.4-mini", promptempromptoraz listątools. - Wewnątrz pętli sprawdź, czy zdarzenia mają typ
"function_call_arguments.delta". - Dodaj warunek sprawdzający zdarzenia typu
"function_call_arguments.done". - Dodaj ostatni warunek sprawdzający, czy typ zdarzenia to
"response.completed", i wyświetl komunikat o zakończeniu.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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 ---")