기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
제어 에이전트 세션 컨텍스트
세션 컨텍스트를 더 잘 제어하기 위해 다음을 수정할 수 있습니다. SessionState에이전트의 개체. 은SessionState개체에는 차례에 걸쳐 유지 관리할 수 있는 정보가 포함되어 있습니다 (별도). InvokeAgent요청 및 응답). 이 정보를 사용하여 사용자 대화 중에 상담원에게 대화 상황을 제공할 수 있습니다.
일반적인 형식 SessionState객체는 다음과 같습니다.
{ "sessionAttributes": { "
<attributeName1>
": "<attributeValue1>"
, "<attributeName2>
": "<attributeValue2>"
, ... }, "promptSessionAttributes": { "<attributeName3>
": "<attributeValue3>"
, "<attributeName4>
": "<attributeValue4>"
, ... }, "invocationId": "string", "returnControlInvocationResults": [ ApiResult or FunctionResult, ... ], "knowledgeBases": [ { "knowledgeBaseId": "string", "retrievalConfiguration": { "vectorSearchConfiguration": { "overrideSearchType": "HYBRID | SEMANTIC", "numberOfResults": int, "filter": RetrievalFilter object } } }, ... ] }
주제를 선택하면 해당 필드에 대해 자세히 알아볼 수 있습니다. SessionState개체.
세션 및 프롬프트 세션 속성
Amazon Bedrock Agents를 사용하면 세션의 일부에 걸쳐 지속되는 다음과 같은 유형의 컨텍스트 속성을 정의할 수 있습니다.
-
sessionAttributes— 사용자와 에이전트 간 세션 동안 지속되는 속성. 모든 InvokeAgent세션 시간 제한 (the
idleSessionTTLinSeconds
) 을 초과하지 않는 한 동일한 요청은 동일한 세션에sessionId
속합니다. -
promptSessionAttributes— 한 턴에 걸쳐 지속되는 속성 (1 InvokeAgent전화). 오케스트레이션 기본 프롬프트 템플릿을 편집할 때 $prompt_session_attributes$ 플레이스홀더를 사용할 수 있습니다. 이 자리 표시자는 런타임 시 필드에 지정한 속성으로 채워집니다.
promptSessionAttributes
세션 상태 속성은 다음과 같은 두 단계로 정의할 수 있습니다.
-
작업 그룹을 설정하고 Lambda 함수를 작성할 때는 Amazon Bedrock에 반환되는 응답 이벤트에
promptSessionAttributes
또는 를sessionAttributes
포함하십시오. -
런타임 중에 다음을 전송할 때 InvokeAgent요청 중에 세션 상태 속성을 동적으로 변경할 수 있도록 요청 본문에
sessionState
객체를 포함시키십시오.
세션 속성 예제
다음 예제에서는 세션 속성을 사용하여 사용자에게 보내는 메시지를 개인화합니다.
-
애플리케이션 코드를 작성하여 사용자에게 이름과 상담원에게 하고 싶은 요청을 제공하고 답변을 변수로 저장하도록 요청하세요.
<first_name>
그리고<request>
. -
보낼 애플리케이션 코드를 작성하세요. InvokeAgent다음 본문을 포함하여 요청하십시오.
{ "inputText": "
<request>
", "sessionState": { "sessionAttributes": { "firstName": "<first_name>
" } } } -
사용자가 애플리케이션을 사용하고 이름을 입력하면 코드가 세션 속성으로 이름을 보내고 에이전트는 세션 기간 동안 이름을 저장합니다.
-
세션 속성은 Lambda 입력 이벤트에서 전송되므로 작업 그룹의 Lambda 함수에서 이러한 세션 속성을 참조할 수 있습니다. 예를 들어, 작업 API스키마가 요청 본문의 이름을 요구하는 경우, 요청을 전송할 때 해당 필드를 자동으로 채우도록 작업 그룹에 대한 Lambda 함수를 작성할 때
firstName
세션 속성을 사용할 수 있습니다. API
프롬프트 세션 속성 예제
다음 일반 예제에서는 프롬프트 세션 속성을 사용하여 에이전트에 임시 컨텍스트를 제공합니다.
-
라는 변수에 사용자 요청을 저장하는 애플리케이션 코드를 작성합니다.
<request>
. -
사용자가 상대적 시간을 나타내는 단어 (예: “내일”) 를 사용하는 경우 사용자 위치의 시간대를 검색하도록 애플리케이션 코드를 작성하십시오.
<request>
라는 변수에 저장합니다.<timezone>
. -
보낼 애플리케이션을 작성하세요. InvokeAgent다음 본문을 포함한 요청:
{ "inputText": "
<request>
", "sessionState": { "promptSessionAttributes": { "timeZone": "<timezone>
" } } } -
사용자가 상대 시간을 나타내는 단어를 사용하는 경우 코드는
timeZone
prompt session 속성을 전송하고 에이전트는 턴 기간 동안 이를 저장합니다. -
예를 들어 사용자가
I need to book a hotel for tomorrow
요청하면 코드가 사용자의 시간대를 상담원에게 보내고 상담원은 “내일”이 가리키는 정확한 날짜를 확인할 수 있습니다. -
프롬프트 세션 속성은 다음 단계에서 사용할 수 있습니다.
-
오케스트레이션 프롬프트 템플릿에 $prompt_session_attributes$ 자리 표시자를 포함하면 FM에 대한 오케스트레이션 프롬프트에 프롬프트 세션 속성이 포함됩니다.
-
프롬프트 세션 속성은 Lambda input 이벤트에서 전송되며 요청을 API 채우는 데 사용하거나 응답에서 반환되는 데 사용할 수 있습니다.
-
작업 그룹 호출 결과
액션 그룹이 컨트롤을 반환하도록 구성한 경우 InvokeAgent응답으로 작업 그룹을 호출한 결과를 다음 단계로 전송할 수 있습니다. sessionState
InvokeAgent다음 필드를 포함하여 응답하십시오.
-
invocationId
— 이 ID는returnControl
필드의 ReturnControlPayload개체에invocationId
반환된 ID와 일치해야 합니다. InvokeAgent응답. -
returnControlInvocationResults
— 작업을 호출하여 얻은 결과를 포함합니다. ReturnControlPayload객체를 전달하여 API 요청을 수행하거나 정의한 함수를 호출하도록 애플리케이션을 설정할 수 있습니다. 그런 다음 여기에 해당 작업의 결과를 제공할 수 있습니다.returnControlInvocationResults
목록의 각 구성원은 다음 중 하나입니다.-
에이전트가 예측한 API 작업을 포함하는 ApiResult개체는 이전에 호출되어야 합니다. InvokeAgent시스템에서 작업을 호출한 시퀀스와 결과. 일반 형식은 다음과 같습니다.
{ "actionGroup": "string", "apiPath": "string", "httpMethod": "string", "httpStatusCode": integer, "responseBody": { "TEXT": { "body": "string" } } }
-
에이전트가 예측한 함수를 포함하는 FunctionResult객체는 이전 버전에서 호출되어야 합니다. InvokeAgent시퀀스 및 시스템에서 작업을 호출한 결과. 일반 형식은 다음과 같습니다.
{ "actionGroup": "string", "function": "string", "responseBody": { "TEXT": { "body": "string" } } }
-
제공된 결과는 추가 조정을 위한 컨텍스트로 사용하거나, 에이전트가 응답 형식을 지정할 수 있도록 사후 처리에 보내거나, 에이전트의 사용자 응답에 직접 사용할 수 있습니다.
지식 기반 검색 구성
에이전트에 연결된 지식베이스의 검색 구성을 수정하려면 구성을 지정하려는 각 지식베이스의 구성 목록이 있는 knowledgeBaseConfigurations
필드를 포함하세요. knowledgeBaseId
를 지정합니다. vectorSearchConfiguration
필드에서 다음과 같은 쿼리 구성을 지정할 수 있습니다 (이러한 구성에 대한 자세한 내용은 참조쿼리 및 응답 생성 구성 및 사용자 지정).
-
검색 유형 — 지식 베이스에서 벡터 임베딩만 검색할지 (
SEMANTIC
) 벡터 임베딩과 원시 텍스트 (HYBRID
) 를 모두 검색할지 여부 필드를 사용하세요.overrideSearchType
-
검색된 결과 최대 수 — 응답에 사용할 쿼리 검색 결과의 최대 수입니다.
-
메타데이터 및 필터링 - 데이터 소스 파일의 메타데이터 속성을 기반으로 결과를 필터링하도록 구성할 수 있는 필터입니다.