Overview

QnABot on AWS is a multi-channel, multi-language conversational interface (chatbot) that responds to your customer’s questions, answers, and feedback. It allows you to deploy a fully functional chatbot across multiple channels including chat, voice, SMS, and Amazon Alexa.
Benefits

Provide personalized tutorials and question and answer support with intelligent multi-part interaction. Use the Command Line Interface (CLI) to import and export questions from your QnABot setup. Use Amazon Kendra natural language processing (NLP) capabilities to better understand human questions. Import questions and answers and session attributes from an Excel file.
Automate customer support workflows.
Create engaging, human-like interactions for chatbots. Use intent and slot matching to implement different types of question-and-answer workflows.
Technical details

The diagram below presents the architecture you can automatically deploy using the AWS Solution's implementation guide and accompanying AWS CloudFormation template.
Step 1
The admin deploys the guidance into their AWS account, opens the Content Designer UI, and uses Amazon Cognito to authenticate.
Step 2
After authentication, Amazon CloudFront and Amazon Simple Storage Service (Amazon S3) deliver the contents of the Content Designer UI.
Step 3
The admin configures questions and answers in the Content Designer and the UI sends requests to Amazon API Gateway to save the questions and answers.
Step 4
The Content Designer AWS Lambda function saves the input in Amazon OpenSearch Service in a questions bank index.
Step 5
Users of the chatbot interact with Amazon Lex via the Web Client UI or Amazon Connect.
Step 6
Amazon Lex forwards requests to the AWS Lambda (Bot Fulfillment) function. Users can also send requests to this Lambda function via Amazon Alexa devices.
Step 7
The Bot Fulfillment function takes the users input and uses Amazon Comprehend and Amazon Translate (if necessary) to translate non-English requests to English and then looks up the answer in Amazon OpenSearch Service.
If Amazon Kendra and Amazon SageMaker are configured at the time of deployment, the Bot Fulfillment function also sends a request to those indexes.
Step 8
User interactions with Bot Fulfillment functions generate logs and metrics data, which is sent to Amazon Kinesis Data Firehose then to Amazon S3 for later data analysis.