セマンティックイベントのストリーミング
リアルタイムの天気予報を返すアシスタントを作成します。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}")