query() には 2 つの入力モードがあります:
- シングルメッセージクエリモード:1 つのユーザーメッセージを送信し、SDK は応答完了後にセッションを閉じます。クイックスタート を参照してください。
- マルチメッセージセッションモード:セッションを開いたまま、モデルとマルチターン対話を行います。
マルチメッセージセッション
ユーザーメッセージを順番に産出するシーケンスを定義します:SDKUserMessage を参照してください。
セッションライフサイクルの管理
マルチメッセージセッションでは、query() が返すオブジェクトのライフサイクルは呼び出し側が管理します。SDK はメッセージシーケンスが自然に終了した場合のみセッションを閉じます。それ以外のすべてのケースでは呼び出し側がいつ終了するかを決定する必要があり、さもないとセッションはハングし続けます。
呼び出し側が能動的にクローズを管理する必要がある一般的なシナリオ:
-
メッセージシーケンス自体が終了しない場合、例えば外部入力をループ待ちするジェネレータ:
- メッセージシーケンスが正常に終了する前に終了したい場合:タイムアウト、ユーザーキャンセル、その他のビジネス条件。