开始使用免费开始使用

语义事件流式传输

您正在构建一个提供实时天气预报的助手。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}")
编辑并运行代码