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 使用 arguments 中的引數執行 name 所指定的函式。使用該動作的 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())

若要停止目前的工作並保留對話,請取消進行中的回合。如需刪除操作的回應資訊,請參閱刪除工作階段參考資料