Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij menedżer kontekstu strumieniowania, wywołując client.responses.create() z modelem "gpt-5.4-mini", promptem prompt oraz 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 ---")
Edytuj i uruchom kod