関数呼び出しを使ったストリーミング
関数呼び出し機能を持つ 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 ---")