For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション
Theme

セッションの管理

セッションを検索し、必要なアクションに対応し、保存した作業内容を削除する方法を説明します。

各セッションの ID をアプリケーションのデータストアに保存します。この ID を使って、セッションの現在の状態を取得したり、エージェントからのリクエストに対応したり、セッションを削除したりできます。

セッションの検索

過去の作業を確認するには、プロジェクト内のセッションを一覧表示します。続きのページは、SDK のページネーションヘルパーで取得できます。

セッションの一覧表示と次のページの取得
from openai import OpenAI

client = OpenAI()
page = client.beta.agents.sessions.list(limit=20)
print(page.to_json())
if page.has_next_page():
    page = page.get_next_page()
    print(page.to_json())

セッションの確認

セッションを取得すると、ステータス、エージェントの設定、環境、required_actions を確認できます。API クライアントと、その会話のセッション ID を渡します。

セッションの取得
# Pass your saved session ID to this helper.
def retrieve_session(client: OpenAI, session_id: str):
    return client.beta.agents.sessions.retrieve(session_id)

レスポンスの完全なスキーマは、セッション取得のリファレンスを参照してください。

必要なアクションへの対応

セッションのステータスが requires_action の場合、作業を続けるにはアプリケーション側での対応が必要です。agent.session.requires_action を受信したら、セッションを取得し、required_actions の各項目を確認します。

  • function_call: name で指定された関数を、arguments の値を引数として実行します。このアクションの turn_id と call_id を使って、同じセッションに結果を返します。関数ツールを参照してください。
  • environment_connection: environment_id で指定された環境に接続します。環境への接続を参照してください。

アプリケーションは、イベントを受け取ったタイミングでセッションを取得し、その内容から必要な対応を判断します。アプリケーションの再起動後やストリームの切断後は、セッションを取得して保留中のアクションを確認します。対応が済んだら、引き続きイベントを追跡してターンの結果を確認します。

保存されたメッセージ、ツール呼び出し、ターンの結果を確認するには、アイテムとターンの取得を参照してください。どのエージェントがコマンドを実行したかを特定するには、委任状況の確認を参照してください。

セッションの削除

アプリケーションでセッションが不要になったら削除します。削除すると、API からそのセッションにアクセスできなくなります。データの物理的な削除は、その後も非同期で続く場合があります。

セッションの削除
# Replace the illustrative IDs and URLs below with your own resource values.

from openai import OpenAI


def delete_session(client: OpenAI, session_id: str):
    return client.beta.agents.sessions.delete(session_id)


if __name__ == "__main__":
    result = delete_session(OpenAI(), "sess_123")
    print(result.to_json())

会話を残したまま現在の作業を停止するには、進行中のターンをキャンセルしてください。削除時のレスポンスについては、セッション削除のリファレンスを参照してください。