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

セッションの管理

セッションの検索、必要なアクションへの対応、保存済みの作業の削除について説明します。

各セッション 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_idcall_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())

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