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

Потоковая передача семантических событий

Вы создаёте погодного ассистента, который предоставляет прогнозы в режиме реального времени. Клиент OpenAI уже инициализирован и настроен для работы с Responses API. Вы будете использовать потоковую передачу семантических событий, чтобы отслеживать момент начала ответа, завершение текстовых блоков и окончание полного ответа. Это делает взаимодействие с пользователем более наглядным: прогресс генерации прогноза отображается в реальном времени.

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

Работа с Responses API OpenAI

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

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

  • Обработайте событие "response.created", выведя сообщение о начале генерации.
  • Обработайте событие "response.output_text.done", выведя сообщение о завершении текстового блока.
  • Обработайте событие "response.completed", выведя полный текст ответа, сохранённый в current_text.

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

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

prompt = "Explain how to read a weather forecast in one sentence for a beginner hiker."

with client.responses.create(model="gpt-5.4-mini", input=prompt, stream=True) as stream:
    for event in stream:
        # Find response created events
        if event.type == "____":
            print("Forecast generation started...\n")

        # Find output text completed events
        elif event.type == "____":
            print("\n--- Forecast complete ---\n")

        # Find response completed events
        elif event.type == "____":
            print(f"\nFull forecast:\n{current_text}")
Редактировать и запускать код