Zacznij terazZacznij za darmo

Integracja narzędzi do wywoływania funkcji

Masz już gotowe narzędzie do konwersji stref czasowych oparte na funkcji convert_timezone() oraz zdefiniowane w formacie narzędzi OpenAI. Teraz pora zaimplementować pełny przepływ pracy z wywoływaniem funkcji. Obiekt client jest już zainicjalizowany, a lista tools zawiera definicję twojego narzędzia do konwersji stref czasowych. Funkcja convert_timezone() jest również gotowa do użycia.

Lista messages została już rozpoczęta – zawiera dane wejściowe użytkownika, który potrzebuje informacji o strefie czasowej z twojego narzędzia convert_timezone.

To ćwiczenie jest częścią kursu

Praca z API Responses OpenAI

Zobacz kurs

Instrukcje do ćwiczenia

  • Przejdź pętlą przez elementy wyjściowe odpowiedzi z pierwszego żądania do Responses API, aby sprawdzić, czy zawiera wywołanie 'function_call' do 'convert_timezone'. Następnie wywołaj convert_timezone() z rozpakowanymi argumentami z elementu i zapisz wynik w zmiennej timezone_result.
  • Dodaj do listy messages wiadomość typu 'function_call_output' zawierającą wynik zwrócony przez convert_timezone().
  • Utwórz końcowe żądanie do Responses API, przekazując wiadomości z wynikiem funkcji oraz ponownie listę tools.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

messages = [{"role": "user", "content": "What time is 2:30pm on January 20th in New York in Tokyo time?"}]
response = client.responses.create(model="gpt-5.4-mini", input=messages, tools=tools)
messages += response.output

# Process function calls and execute the timezone conversion
for item in response.output:
    if item.type == "____":
        if item.name == "____":
            timezone_result = ____(**json.loads(item.arguments))
            
            # Append function output to messages
            messages.append({"type": "____", "call_id": item.call_id, "output": json.dumps({"convert_timezone": ____})})

# Make second API request with function results
response = client.responses.create(model="gpt-5.4-mini", input=____, tools=____)
print(response.output_text)
Edytuj i uruchom kod