ПочатиПочніть безкоштовно

Інтеграція інструментів із викликом функцій

Ви створили інструмент для перетворення часових поясів за допомогою функції convert_timezone() і визначили його у форматі інструментів OpenAI. Тепер потрібно реалізувати повний робочий процес із викликом функцій. Об'єкт client уже ініціалізовано, а список tools містить визначення вашого інструменту для конвертації часових поясів. Функція convert_timezone() також готова до використання.

Список messages уже створено й містить користувацьке повідомлення, яке потребує інформації про часовий пояс від вашого інструменту convert_timezone.

Ця вправа є частиною курсу

Робота з OpenAI Responses API

Переглянути курс

Інструкції до вправи

  • Переберіть елементи вихідних даних відповіді з першого запиту до Responses, щоб перевірити, чи міститься там 'function_call' до 'convert_timezone'; тоді викличте convert_timezone() з розпакованими аргументами з цього елемента, зберігши результат у timezone_result.
  • Додайте до списку повідомлень повідомлення типу 'function_call_output', що містить результат з convert_timezone().
  • Створіть фінальний запит до Responses із повідомленнями, що містять результат функції, і знову передайте список tools.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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)
Редагувати та запускати код