개요
QnABot on AWS는 고객의 질문, 답변 및 피드백에 응답하는 다중 채널의 다중 언어 대화형 인터페이스(챗봇)입니다. 이 솔루션을 사용하면 채팅, 음성, SMS 및 Amazon Alexa를 비롯한 여러 채널에 완전한 기능의 Chatbot을 배포할 수 있습니다.
이점
지능형 다중 부분 상호 작용을 통해 개인화된 자습서 및 질문과 답변 지원을 제공할 수 있습니다. Command Line Interface(CLI)를 사용하여 QnABot 설정에서 질문을 가져오고 내보낼 수 있습니다. 인간의 질문을 더 잘 파악할 수 있도록 Amazon Kendra 자연어 처리(NLP) 기능을 사용할 수 있습니다.
고객 지원 워크플로를 자동화할 수 있습니다.
Chatbot에 매력적인 인간과 유사한 상호 작용을 생성할 수 있습니다. 의도 및 슬롯 매칭을 사용하여 여러 유형의 질문 및 답변 워크플로를 구현할 수 있습니다.
기술 세부 정보
구현 가이드 및 함께 제공되는 AWS CloudFormation 템플릿을 사용하여 이 아키텍처를 자동으로 배포할 수 있습니다.
1단계
이 AWS 솔루션을 AWS 계정에 배포합니다. Content Designer UI(사용자 인터페이스) 또는 Amazon Lex 웹 클라이언트를 열고 Amazon Cognito를 사용하여 인증합니다.
2단계
인증 후 Amazon API Gateway 및 Amazon Simple Storage Service(S3)는 Content Designer UI의 콘텐츠를 제공합니다.
3단계
Content Designer에서 질문과 답변을 구성합니다. UI는 질문과 답변을 저장하기 위해 API Gateway에 요청을 보냅니다.
4단계
Content Designer AWS Lambda 함수는 Amazon OpenSearch Service의 입력을 질문 은행 인덱스에 저장합니다. 텍스트 임베딩을 사용하는 경우 이러한 요청은 Amazon SageMaker에서 호스팅되는 기계 학습(ML) 모델을 통과하여 임베딩을 생성한 후 OpenSearch Service의 질문 은행에 저장됩니다.
5단계
챗봇 사용자는 웹 클라이언트 UI 또는 Amazon Connect를 통해 Amazon Lex와 상호 작용합니다.
6단계
Amazon Lex는 Bot Fulfillment Lambda 함수로 요청을 전달합니다. 챗봇 사용자는 Amazon Alexa 디바이스를 통해 이 Lambda 함수에 요청을 보낼 수도 있습니다.
7단계
Bot Fulfillment Lambda 함수는 사용자 입력을 받고 Amazon Comprehend 및 Amazon Translate(필요한 경우)을 사용하여 영어가 아닌 요청을 영어로 번역한 다음 OpenSearch Service에서 답변을 조회합니다.
텍스트 생성 및 텍스트 임베딩과 같은 대규모 언어 모델(LLM), 일반적으로 파운데이션 모델(FM)이라고 하는 모델을 사용하는 경우 이러한 요청은 먼저 SageMaker에서 호스팅되는 다양한 ML 모델을 통과합니다. SageMaker는 검색 쿼리 및 임베딩을 생성하여 OpenSearch Service의 질문 은행에 저장된 것과 비교합니다.
8단계
Amazon Kendra 인덱스가 폴백을 위해 구성된 경우, OpenSearch Service 질문 은행에서 일치 항목이 반환되지 않으면 Bot Fulfillment Lambda 함수는 요청을 Amazon Kendra로 전달합니다. 텍스트 생성 LLM을 사용하여 검색 쿼리를 생성하고 반환된 문서의 발췌문에서 응답을 종합할 수 있습니다.
9단계
Bot Fulfillment 기능과의 사용자 상호 작용은 로그 및 지표 데이터를 생성하며, 이는 Amazon Kinesis Data Firehose로 전송된 다음 차후에 데이터 분석을 위해 Amazon S3로 전송됩니다.