НачатьНачать бесплатно

Потоковая передача с вызовами функций

Вы уже видели, сколько сценариев открывают LLM с поддержкой вызова функций — у них есть собственные типы событий. Это удобно для отображения обновлений в реальном времени, когда модель готовится вызвать инструмент, а также для логирования и отслеживания использования инструментов.

Функция convert_timezone(), которую вы определили ранее для конвертации дат и времени между часовыми поясами, и список tools с определением функции для Responses API уже заданы для вас.

Это упражнение является частью курса

Работа с Responses API OpenAI

Посмотреть курс

Инструкции к упражнению

  • Завершите контекстный менеджер потоковой передачи, вызвав client.responses.create() с моделью "gpt-5.4-mini", переменной prompt и списком tools.
  • Внутри цикла проверьте наличие событий "function_call_arguments.delta".
  • Добавьте условие для проверки событий "function_call_arguments.done".
  • Добавьте финальное условие для проверки типа события "response.completed" и выведите итоговое сообщение о завершении.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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