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)

전체 응답 스키마는 세션 조회 API 레퍼런스를 참고하세요.

필요한 작업 처리

세션 상태가 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())

대화를 유지하면서 현재 작업을 중지하려면 진행 중인 턴을 취소하세요. 삭제 요청의 응답은 세션 삭제 API 레퍼런스를 참고하세요.