

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 세션 관리 API를 사용하여 대화 기록 및 컨텍스트 저장 및 검색
<a name="sessions"></a>

**참고**  
세션 관리 API는 평가판으로 제공되며 변경될 수 있습니다.

 세션 관리 API를 사용하면 LangGraph 및 LlamaIndex와 같은 오픈 소스 프레임워크로 구축된 생성형 AI 애플리케이션에서 지속적인 대화를 위한 체크포인트를 저장할 수 있습니다. API를 사용하여 다단계 생성형 AI 워크플로에서 상태 및 대화 컨텍스트를 안전하게 관리할 수 있습니다. 상태 및 컨텍스트 지속성을 위해 사용자 지정 백엔드 솔루션을 구축, 유지 관리 또는 확장할 필요가 없습니다.

세션 관리 API를 사용하여 다음을 수행할 수 있습니다.
+ 반복 테스트 및 human-in-the-loop 워크플로를 위한 워크플로 단계 체크포인트
+  중단 시점부터 대화와 태스크 재개 
+ 세션 로그를 검토하여 워크플로 단계 분석 및 실패 디버깅

세션은 Amazon Bedrock의 리소스이므로 AWS Identity and Access Management (IAM)을 사용하여 세션에 대한 액세스를 제어할 수 있습니다. 기본적으로 Amazon Bedrock은 세션 메타데이터를 포함한 세션 암호화에 AWS관리형 키를 사용하거나 자체 AWS KMS 키를 사용할 수 있습니다. 자세한 내용은 [세션 암호화](sessions-encryption.md) 단원을 참조하십시오.

 Amazon Bedrock APIs 또는 AWS SDKs. LangGraph 기반 애플리케이션의 경우 `langgraph_checkpoint_aws.saver` 라이브러리의 `BedrockSessionSaver` 클래스를 사용할 수 있습니다. 이는 LangGraph CheckpointSaver의 사용자 지정 구현입니다. 자세한 내용은 [LangChain](https://github.com/langchain-ai) GitHub 리포지토리의 [langgraph-checkpoint-aws](https://github.com/langchain-ai/langchain-aws/tree/main/libs/langgraph-checkpoint-aws)를 참조하세요.

**참고**  
세션을 사용하여 오픈 소스 프레임워크로 구축된 생성형 AI 애플리케이션의 상태 및 대화 기록을 저장합니다. Amazon Bedrock Agents의 경우 서비스는 대화 컨텍스트를 자동으로 관리하고 [InvokeAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) API 작업에서 지정한 에이전트별 sessionId와 연결합니다.

**Topics**
+ [사용 사례 예제](#sessions-use-case)
+ [워크플로](#sessions-workflow)
+ [고려 사항](#sessions-considerations)
+ [세션 암호화](sessions-encryption.md)
+ [대화 기록 및 컨텍스트를 저장할 준비를 위한 세션 생성](sessions-create.md)
+ [세션에 대화 기록 및 컨텍스트 저장](sessions-store-coversation.md)
+ [세션에서 대화 기록 및 컨텍스트 검색](sessions-retrieve-coversation.md)
+ [사용자가 대화를 종료하면 세션 종료](sessions-end-session.md)
+ [세션 및 모든 데이터 삭제](sessions-delete-session.md)
+ [BedrockSessionSaver LangGraph 라이브러리를 사용하여 대화 기록 및 컨텍스트 저장 및 검색](sessions-opensource-library.md)

## 사용 사례 예제
<a name="sessions-use-case"></a>

고객이 여행 일정을 계획하는 데 도움이 되도록 LangGraph 에이전트를 사용하는 애플리케이션이 있을 수 있습니다. 사용자는 이 에이전트와 대화를 시작하여 예정된 여행 일정, 목적지 추가, 선호하는 호텔 및 항공편 세부 정보를 생성할 수 있습니다.

세션 관리 API를 사용하면 에이전트가 확장된 다단계 상호 작용에서 중간 상태와 지속적인 컨텍스트를 저장할 수 있습니다. 에이전트는 Amazon Bedrock 세션을 사용하여 각 대상이 추가된 후 상태를 확인하여 고객의 기본 설정에 대한 세부 정보를 보존할 수 있습니다.

대화가 중단되거나 실패하면 에이전트는 텍스트 및 이미지를 포함한 컨텍스트를 그대로 유지한 채로 나중에 세션을 재개할 수 있습니다. 이렇게 하면 고객이 정보를 반복해서 제공할 필요 없이 에이전트가 연속성을 유지할 수 있습니다. 또한, 실패할 경우 세션 세부 정보를 조사하여 원인을 디버깅할 수 있습니다.

## 워크플로
<a name="sessions-workflow"></a>

세션 관리 API를 사용하는 워크플로는 다음과 같습니다. BedrockSessionSaver 라이브러리 사용에 대한 자세한 내용은 [BedrockSessionSaver LangGraph 라이브러리를 사용하여 세션 관리](sessions-opensource-library.md)를 참조하세요.
+ **세션 생성** - 최종 사용자가 대화를 처음 시작할 때 [CreateSession](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CreateSession.html) API 작업을 사용하여 세션을 생성하고 세션의 ID를 지정합니다. 대화 상태를 저장하고 검색할 때 이 ID를 사용합니다.
+ **대화 및 컨텍스트 저장** - 최종 사용자가 생성형 AI 어시스턴트와 상호 작용할 때 [CreateInvocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CreateInvocation.html) API를 사용하여 세션 내에서 상호 작용 그룹화를 생성합니다. 각 간접 호출에 대해 [PutInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_PutInvocationStep.html) API 작업을 사용하여 각 상호 작용에 대해 텍스트 및 이미지를 포함한 세분화된 상태 체크포인트를 저장합니다.
+ **대화 기록 및 컨텍스트 검색** - [GetSession](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetSession.html), [ListInvocations](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListInvocations.html) 및 [GetInvocationStep](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetInvocationStep.html) API 작업을 사용하여 세션 메타데이터 및 상호 작용 세부 정보를 검색합니다.
+ **세션 종료** - 세션이 완료되면 [EndSession](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_EndSession.html) API 작업으로 세션을 종료합니다. 세션을 종료한 후에도 여전히 해당 콘텐츠에 액세스할 수 있지만, 해당 콘텐츠에 내용을 추가할 수는 없습니다. 세션과 해당 콘텐츠를 삭제하려면 [DeleteSession](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_DeleteSession.html) API 작업을 사용합니다.

## 고려 사항
<a name="sessions-considerations"></a>

세션을 생성하고 관리하기 전에 다음 사항에 유의하세요.
+ Amazon Bedrock APIs 및 AWS SDKs. AWS 관리 콘솔을 사용하여 세션을 관리할 수 없습니다.
+ LangGraph 기반 에이전트 애플리케이션의 경우 `langchain-aws` 라이브러리의 `BedrockSessionSaver` 클래스를 사용할 수 있습니다. 이는 LangGraph CheckpointSaver의 사용자 지정 구현입니다. BedrockSessionSaver 라이브러리 사용에 대한 자세한 내용은 [BedrockSessionSaver LangGraph 라이브러리를 사용하여 세션 관리](sessions-opensource-library.md)를 참조하세요. 코드를 직접 보려면 [LangChain](https://github.com/langchain-ai) GitHub 리포지토리의 [langgraph-checkpoint-aws](https://github.com/langchain-ai/langchain-aws/tree/main/libs/langgraph-checkpoint-aws)를 참조하세요.
+ 세션을 생성할 때 고객 관리형 AWS KMS 키를 지정하는 경우 세션을 생성하는 사용자 또는 역할에 키를 사용할 권한이 있어야 합니다. 자세한 설명은 [세션 암호화](sessions-encryption.md) 섹션을 참조하세요.
+ 세션 관리 API에는 다음과 같은 할당량이 있습니다.
  + 모든 간접 호출에서 세션의 간접 호출 단계 수 - 1,000
  + 각 간접 호출 단계의 최대 크기 - 50MB
  + IdleSession 제한 시간 – 1시간
  + 보존 기간 - 세션 데이터는 30일 후에 자동으로 삭제됩니다.