제퍼넷 로고

생성 AI 기능으로 Amazon Connect 및 Lex 강화 | 아마존 웹 서비스

시간

효과적인 셀프 서비스 옵션은 컨택 센터에 점점 더 중요해지고 있지만 이를 제대로 구현하는 것은 고유한 과제를 안겨줍니다.

아마존 렉스 당신의 아마존 연결 음성 및 텍스트 채널을 통한 자동 음성 인식(ASR), 자연어 이해(NLU) 기능과 같은 챗봇 기능을 갖춘 컨택센터입니다. 봇은 자연어 음성 또는 텍스트 입력을 받아 입력 이면의 의도를 인식하고 적절한 응답을 호출하여 사용자의 의도를 충족합니다.

발신자는 다양한 억양, 발음, 문법을 가지고 있을 수 있습니다. 배경 소음과 결합되어 음성 인식이 문장을 정확하게 이해하는 것을 어렵게 만들 수 있습니다. 예를 들어, “내 주문을 추적하고 싶습니다.”가 “내 홀더를 트럭으로 운반하고 싶습니다.”로 잘못 인식될 수 있습니다. 이와 같이 실패한 의도는 반복해야 하거나 잘못 라우팅되거나 실제 상담원에게 에스컬레이션되어야 하는 고객을 좌절시켜 기업에 더 많은 비용을 초래합니다.

아마존 기반암 개발자가 최신 컨택 센터를 위한 생성적 AI 기반 애플리케이션을 손쉽게 구축하고 확장할 수 있도록 FM(기본 모델) 액세스를 민주화합니다. 다음과 같이 Amazon Bedrock에서 제공하는 FM 아마존 타이탄인류학적 클로드는 문장 분류, 질문 및 답변, 음성 인식 오류에도 불구하고 향상된 의미 이해와 같은 강력한 NLU 기능을 제공하는 인터넷 규모 데이터 세트에 대해 사전 훈련되었습니다.

이 게시물에서는 Amazon Bedrock에서 제공하는 FM을 사용하여 Amazon Connect와 통합된 Amazon Lex의 의도 인식을 향상시켜 궁극적으로 고객에게 향상된 셀프 서비스 경험을 제공하는 솔루션을 살펴봅니다.

솔루션 개요

솔루션은 아마존 연결, 아마존 렉스 , AWS 람다아마존 기반암 다음 단계에서:

  1. Amazon Connect 고객 응대 흐름은 다음을 통해 Amazon Lex 봇과 통합됩니다. GetCustomerInput 블록.
  2. 봇이 호출자의 의도를 인식하지 못하고 대체 의도를 기본값으로 설정하면 Lambda 함수가 트리거됩니다.
  3. Lambda 함수는 고객 발언의 기록을 가져와 Amazon Bedrock의 기반 모델에 전달합니다.
  4. 모델은 고급 자연어 기능을 사용하여 호출자의 의도를 결정합니다.
  5. 그런 다음 Lambda 함수는 이행을 위해 호출을 올바른 의도로 라우팅하도록 봇에 지시합니다.

Amazon Bedrock 기반 모델을 사용하면 이 솔루션을 통해 Amazon Lex 봇이 음성 인식 오류에도 불구하고 의도를 이해할 수 있습니다. 그 결과 원활한 라우팅과 이행이 이루어지며, 상담원에게 에스컬레이션이 발생하는 것을 방지하고 발신자가 반복적으로 불편을 겪는 것을 방지할 수 있습니다.

다음 다이어그램은 솔루션 아키텍처와 워크플로를 보여줍니다.

다음 섹션에서는 솔루션의 주요 구성 요소를 더 자세히 살펴보겠습니다.

Lambda 함수 및 LangChain 프레임워크

Amazon Lex 봇은 Lambda 함수를 호출할 때 봇 정보와 호출자의 발언 내용이 포함된 이벤트 메시지를 보냅니다. Lambda 함수는 이 이벤트 메시지를 사용하여 봇의 구성된 의도, 의도 설명 및 의도 발화를 동적으로 검색하고 다음을 사용하여 프롬프트를 작성합니다. 랭체인는 개발자가 LLM(대형 언어 모델), 데이터 소스 및 애플리케이션을 통합할 수 있는 오픈 소스 ML(기계 학습) 프레임워크입니다.

그런 다음 프롬프트를 사용하여 Amazon Bedrock 기반 모델이 호출되고 예측된 의도 및 신뢰 수준과 함께 응답이 수신됩니다. 신뢰 수준이 설정된 임계값(예: 80%)보다 큰 경우 함수는 식별된 의도를 다음 작업과 함께 Amazon Lex에 반환합니다. 위임하다. 신뢰 수준이 임계값보다 낮으면 기본값으로 다시 설정됩니다. FallbackIntent 닫는 동작입니다.

상황 내 학습, 신속한 엔지니어링 및 모델 호출

우리는 이 작업을 수행하기 위해 기초 모델을 사용할 수 있도록 상황 내 학습을 사용합니다. 상황 내 학습은 LLM이 특정 작업에 대해 사전 교육을 받거나 미세 조정하지 않고도 프롬프트에 있는 내용만 사용하여 작업을 학습할 수 있는 기능입니다.

프롬프트에서는 먼저 수행해야 할 작업을 자세히 설명하는 지침을 제공합니다. 그런 다음 Lambda 함수는 Amazon Lex 봇의 구성된 의도, 의도 설명 및 의도 발언을 동적으로 검색하여 프롬프트에 삽입합니다. 마지막으로 생각과 최종 결과를 출력하는 방법에 대한 지침을 제공합니다.

다음 프롬프트 템플릿은 텍스트 생성 모델 Anthropic Claude Instant v1.2 및 Anthropic Claude v2에서 테스트되었습니다. 우리는 모델의 성능을 향상시키기 위해 XML 태그를 사용합니다. 또한 올바른 의도를 선택하기 위한 추론을 더 잘 개선하기 위해 최종 의도를 식별하기 전에 모델이 생각할 여지를 추가합니다. 그만큼 {intent_block} 의도 ID, 의도 설명, 의도 발화를 포함합니다. 그만큼 {input} 블록에는 호출자의 녹음된 발언이 포함됩니다. 모델이 코드 블록을 보다 일관되게 출력하는 데 도움이 되도록 끝에 백틱 3개(“`)가 추가됩니다. ㅏ <STOP> 더 이상 생성되지 않도록 시퀀스가 ​​추가됩니다.

"""
Human: You are a call center agent. You try to understand the intent given an utterance from the caller.

The available intents are as follows, the intent of the caller is highly likely to be one of these.
<intents>
{intents_block} </intents>
The output format is:
<thinking>
</thinking>

<output>
{{
     "intent_id": intent_id,
     "confidence": confidence
}}
</output><STOP>

For the given utterance, you try to categorize the intent of the caller to be one of the intents in <intents></intents> tags.
If it does not match any intents or the utterance is blank, respond with FALLBCKINT and confidence of 1.0.
Respond with the intent name and confidence between 0.0 and 1.0.
Put your thinking in <thinking></thinking> tags before deciding on the intent.

Utterance: {input}

Assistant: ```"""

모델이 호출된 후 기본 모델로부터 다음 응답을 받습니다.

<thinking>
The given utterance is asking for checking where their shipment is. It matches the intent order status.
</thinking>

{
    "intent": "ORDERSTATUSID",
    "confidence": 1.0
}
```

통화 흐름 세션 속성을 기반으로 사용 가능한 의도 필터링

Amazon Connect 고객 응대 흐름의 일부로 솔루션을 사용하는 경우 세션 속성을 지정하여 올바른 의도를 식별하는 LLM의 기능을 더욱 향상시킬 수 있습니다. available_intents FBI 증오 범죄 보고서 “고객의 의견을 들어보세요” 다음 스크린샷과 같이 쉼표로 구분된 인텐트 목록을 사용하여 차단합니다. 이렇게 하면 Lambda 함수는 지정된 의도만 LLM에 대한 프롬프트의 일부로 포함하므로 LLM이 추론해야 하는 의도의 수가 줄어듭니다. 만약 available_intents 세션 속성이 지정되지 않으면 Amazon Lex 봇의 모든 의도가 기본적으로 사용됩니다.

Amazon Lex에 대한 Lambda 함수 응답

LLM이 의도를 결정한 후 Lambda 함수는 다음과 같이 응답합니다. 특정 형식 Amazon Lex가 응답을 처리하는 데 필요합니다.

일치하는 인텐트가 신뢰도 임계값 이상으로 발견되면 대화 작업 유형을 반환합니다. Delegate 선택한 의도를 사용하고 이후에 완료된 의도를 Amazon Connect로 다시 반환하도록 Amazon Lex에 지시합니다. 응답 출력은 다음과 같습니다.

{
    "sessionState": {
        "dialogAction": {
        "type": "Delegate"
        },
        "intent": {
        "name": intent,
        "state": "InProgress",
        }
    }
}

신뢰 수준이 임계값보다 낮거나 의도가 인식되지 않은 경우 대화 작업 유형 닫기 Amazon Lex에게 다음을 닫도록 지시하기 위해 반환됩니다. FallbackIntent을 클릭하고 제어권을 Amazon Connect로 다시 반환합니다. 응답 출력은 다음과 같습니다.

{
    "sessionState": {
        "dialogAction": {
        "type": "Close"
        },
        "intent": {
        "name": intent,
        "state": "Fulfilled",
        }
    }
}

이 샘플의 전체 소스 코드는 다음에서 사용할 수 있습니다. GitHub의.

사전 조건

시작하기 전에 다음 전제 조건이 있는지 확인하십시오.

솔루션 구현

솔루션을 구현하려면 다음 단계를 완료하십시오.

  1. 저장소 복제
    git clone https://github.com/aws-samples/amazon-connect-with-amazon-lex-genai-capabilities
    cd amazon-connect-with-amazon-lex-genai-capabilities

  2. 다음 명령을 실행하여 환경을 초기화하고 Amazon Elastic Container Registry (Amazon ECR) Lambda 함수 이미지용 리포지토리입니다. 생성하려는 AWS 리전 및 ECR 리포지토리 이름을 제공합니다.
    bash ./scripts/build.sh region-name repository-name

  3. 업데이트 ParameterValue 의 필드 scripts/parameters.json 파일 :
    • ParameterKey ("AmazonECRImageUri") – 이전 단계의 저장소 URL을 입력합니다.
    • ParameterKey ("AmazonConnectName") – 고유한 이름을 입력합니다.
    • ParameterKey ("AmazonLexBotName") – 고유한 이름을 입력합니다.
    • ParameterKey ("AmazonLexBotAliasName") – 기본값은 "prodversion"입니다. 필요한 경우 변경할 수 있습니다.
    • ParameterKey ("LoggingLevel") – 기본값은 “INFO”입니다. 필요한 경우 변경할 수 있습니다. 유효한 값은 DEBUG, WARN 및 ERROR입니다.
    • ParameterKey ("ModelID") – 기본값은 "anthropic.claude-instant-v1"입니다. 다른 모델을 사용해야 하는 경우 변경할 수 있습니다.
    • ParameterKey ("AmazonConnectName") – 기본값은 "0.75"입니다. 신뢰도 점수를 업데이트해야 하는 경우 이를 변경할 수 있습니다.
  4. 다음 명령을 실행하여 CloudFormation 스택을 생성하고 리소스를 배포합니다.
    bash ./scripts/deploy.sh region cfn-stack-name

Amazon Connect에서 처음부터 고객 응대 흐름을 구축하고 싶지 않은 경우 이 리포지토리와 함께 제공되는 샘플 흐름을 가져올 수 있습니다. filelocation: /contactflowsample/samplecontactflow.json.

  1. 귀하의 계정에 로그인하십시오. 아마존 커넥트 인스턴스. 계정에는 흐름에 대한 편집 권한이 포함된 보안 프로필이 할당되어야 합니다.
  2. Amazon Connect 콘솔의 탐색 창에서 라우팅선택한다. 연락 흐름.
  3. 가져오는 흐름과 동일한 유형의 새 흐름을 만듭니다.
  4. 왼쪽 메뉴에서 저장 및 가져오기 흐름.
  5. 가져올 파일을 선택하고 수입.

흐름을 기존 흐름으로 가져오면 기존 흐름의 이름도 업데이트됩니다.

  1. 필요에 따라 해결되었거나 해결되지 않은 참조를 검토하고 업데이트합니다.
  2. 가져온 흐름을 저장하려면 찜하기. 게시하려면 다음을 선택하세요. 저장 및 게시.
  3. 고객 응대 흐름을 업로드한 후 다음 구성을 업데이트합니다.
    • 업데이트 GetCustomerInput 올바른 Amazon Lex 봇 이름과 버전을 사용하여 차단합니다.
    • 전화번호 관리에서 이전에 가져온 고객 응대 흐름 또는 IVR로 번호를 업데이트합니다.

구성 확인

CloudFormation 스택으로 생성된 Lambda 함수에 Amazon Lex에서 봇 및 의도 정보를 검색할 수 있는 권한(나열 및 읽기 권한)과 적절한 Amazon Bedrock 권한(나열 및 읽기 권한)이 있는 IAM 역할이 있는지 확인합니다.

Amazon Lex 봇에서 구성된 별칭 및 언어에 대해 Lambda 함수가 올바르게 설정되었는지 확인합니다. 에 대한 FallBackIntent, 확인 Fulfillmentis 로 설정 Active 언제든지 기능을 실행할 수 있도록 FallBackIntent 트리거됩니다.

이 시점에서 Amazon Lex 봇은 자동으로 Lambda 함수를 실행하며 솔루션은 원활하게 작동해야 합니다.

솔루션 테스트

Amazon Lex의 샘플 의도, 설명 및 발화 구성을 살펴보고 오타, 문법 오류, 심지어 다른 언어가 포함된 샘플 입력으로 LLM이 얼마나 잘 작동하는지 살펴보겠습니다.

다음 그림은 예제의 스크린샷을 보여줍니다. 왼쪽에는 의도 이름, 설명, 단일 단어 샘플 발언이 표시됩니다. Amazon Lex에서 많은 구성을 하지 않고도 LLM은 올바른 의도(오른쪽)를 예측할 수 있습니다. 이 테스트에는 올바른 의도에서 나온 간단한 이행 메시지가 있습니다.

정리

리소스를 정리하려면 다음 명령을 실행하여 ECR 저장소 및 CloudFormation 스택을 삭제합니다.

bash ./scripts/cleanup.sh region repository-name cfn-stack-name

결론

Amazon Bedrock에서 제공하는 LLM으로 강화된 Amazon Lex를 사용하면 봇의 의도 인식 성능을 향상시킬 수 있습니다. 이를 통해 다양한 고객에게 원활한 셀프 서비스 경험을 제공하고 악센트와 고유한 음성 특성 간의 격차를 해소하고 궁극적으로 고객 만족도를 향상시킵니다.

생성 AI에 대해 더 자세히 알아보려면 다음 추가 리소스를 확인하세요.

생성적 AI 기반 셀프 서비스 솔루션을 실험하는 방법에 대한 자세한 내용은 다음을 참조하세요. Amazon Kendra 및 대규모 언어 모델과 함께 Amazon Lex를 기반으로 하는 AWS 솔루션의 QnABot을 사용하여 셀프 서비스 질문 답변 배포.


저자에 관하여

함자 나딤 토론토에 본사를 둔 AWS의 Amazon Connect 전문가 솔루션 아키텍트입니다. 그는 캐나다 전역의 고객과 협력하여 연락 센터를 현대화하고 고유한 고객 참여 과제 및 비즈니스 요구 사항에 대한 솔루션을 제공합니다. 여가 시간에는 Hamza는 아내와 함께 여행, 축구, 새로운 요리법 시도를 즐깁니다.

파라그 스리바스타바 Amazon Web Services(AWS)의 솔루션 설계자로서 기업 고객의 성공적인 클라우드 채택 및 마이그레이션을 지원합니다. 그는 전문적인 경력을 쌓는 동안 복잡한 디지털 혁신 프로젝트에 광범위하게 참여해 왔습니다. 그는 또한 주소의 지리공간적 측면을 중심으로 혁신적인 솔루션을 구축하는 데 열정을 쏟고 있습니다.

로스 아라스 캐나다 토론토에 본사를 둔 AWS의 솔루션 아키텍트입니다. 그는 실제 비즈니스 성과로 이어지는 AI/ML 및 생성적 AI 솔루션을 통해 고객이 혁신하도록 돕습니다. 그는 소매, 금융 서비스, 기술, 제약 등 다양한 분야의 고객과 협력해 왔습니다. 여가 시간에는 야외 활동을 좋아하고 가족과 함께 자연을 즐깁니다.

상게타 카마트카르 Amazon Web Services(AWS)의 솔루션 설계자로서 고객의 성공적인 클라우드 채택 및 마이그레이션을 지원합니다. 그녀는 고객과 협력하여 고객 비즈니스 문제를 해결하는 확장성이 뛰어나고 유연하며 복원력이 뛰어난 클라우드 아키텍처를 만듭니다. 여가 시간에는 여름 동안 음악을 듣고, 영화를 보고, 정원 가꾸기를 즐깁니다.

spot_img

최신 인텔리전스

spot_img