语义事件流式传输
您正在构建一个提供实时天气预报的助手。OpenAI 客户端已初始化并配置为与 Responses API 协同工作。您将以流式方式接收语义事件,用于跟踪响应开始的时间、每个文本块完成的时间,以及完整响应生成完成的时间。通过在模型生成预报时展示进度,这能带来更具互动性的用户体验。
本练习是课程的一部分
使用 OpenAI Responses API
练习说明
- 处理
"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}")