Потоковая передача семантических событий
Вы создаёте погодного ассистента, который предоставляет прогнозы в режиме реального времени. Клиент 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}")