始める無料で始める

関数呼び出しを使ったストリーミング

関数呼び出し機能を持つ LLM は多くのユースケースを実現できます。また、関数呼び出し専用のイベントタイプも用意されています。これにより、モデルがツールを呼び出す準備中にリアルタイムのフィードバックをユーザーに提供したり、ツールの使用状況をログとして記録したりすることができます。

タイムゾーン間で日時を変換するために定義した convert_timezone() 関数と、Responses API 用の関数定義を含む tools リストはあらかじめ用意されています。

この演習はコースの一部です

OpenAI Responses API を使いこなす

コースを見る

演習の手順

  • client.responses.create() を呼び出し、モデル "gpt-5.4-mini"prompt、および tools リストを渡して、ストリーミング コンテキストマネージャーを完成させましょう。
  • ループの中で、"function_call_arguments.delta" イベントかどうかを確認しましょう。
  • "function_call_arguments.done" イベントを確認する条件を追加しましょう。
  • 最後に、イベントタイプが "response.completed" かどうかを確認する条件を追加し、完了メッセージを出力しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

prompt = "What time is 2:30pm on January 20th in New York in Tokyo time?"

# Open the streaming connection and enable tool-calling
with ____ as stream:
    for event in stream:
        # Filter for function call arguments delta events
        if ____:
            print(f"\nTool args streaming: {event.delta}")
        # Filter for function call arguments complete events
        elif ____:
            print("Tool call args complete.")
        # Filter for response completed events
        elif ____:
            print("\n--- Completed ---")
コードを編集して実行