Repolode
aws-solutions-library-samples

aws-solutions-library-samples/qnabot-on-aws

A multi-channel, multi-language chatbot on AWS that answers customer questions over chat, voice, SMS and Amazon Alexa, managed through a Content Designer UI.

Stars
448
Forks
262
Open issues
21
Last commit
2 months ago

What is it?

QnABot on AWS is an AWS Solutions implementation that deploys a conversational question-and-answer chatbot into your own AWS account. Questions and answers are stored in Amazon OpenSearch Service and managed through a Content Designer web UI, and the bot is built on Amazon Lex so it can be reached from a web client, Amazon Connect, SMS, voice and Amazon Alexa.

Beyond keyword-style answer lookup, the solution can use Amazon Bedrock for semantic matching with text embeddings and for generative answers over a Bedrock Knowledge Base, with optional fallback to Amazon Kendra when no answer is found. It also includes optional pre- and post-processing guardrails, streaming responses over WebSocket, and logging with OpenSearch Dashboards and CloudWatch for reviewing usage, unanswered utterances and user feedback.

Deployment is done through CloudFormation templates, with a documented custom build path using Node.js, Python and Poetry. The Designer UI supports Chrome and Firefox.

Key features

  • 01Answers questions over chat, voice, SMS and Amazon Alexa through Amazon Lex.
  • 02Content Designer UI for authoring and managing question and answer entries.
  • 03Semantic matching with text embeddings and generative answers via Amazon Bedrock.
  • 04Fallback to Amazon Kendra or a Bedrock Knowledge Base when no answer matches.
  • 05Optional guardrails to scan and mask inputs and responses.
  • 06Usage logging and dashboards for unanswered questions and user feedback.

Use cases

  • Deploying a customer support FAQ bot that answers common questions across web chat and phone.
  • Reducing call center wait times by automating routine support questions through Amazon Connect.
  • Building a question-answering assistant grounded in a company's own documents via a Bedrock Knowledge Base.

Quick start

  1. 1

    Install Node.js, npm, git LFS, Python 3.14+, Poetry and the AWS CLI, then clone the repo

  2. 2

    Install QnABot's Node modules from the source directory

    npm install
  3. 3

    Generate config.json, then set region, profile, namespace and devEmail

    npm run config
  4. 4

    Create the bootstrap S3 bucket, then deploy the stack (run bootstrap first, then up)

    npm run up

Things to know

  • Custom deployment requires a Linux environment, with Amazon Linux 2 as the tested platform.
  • Setup needs several toolchains (Node 24+, Python 3.14+, Poetry, git LFS) and a deployed AWS account, which will incur AWS costs.
  • Deployment depends on Amazon Bedrock, OpenSearch and other AWS services, so it is not a self-contained local install.

In collections

Topics

FAQ

What is qnabot-on-aws?
A multi-channel, multi-language chatbot on AWS that answers customer questions over chat, voice, SMS and Amazon Alexa, managed through a Content Designer UI. QnABot on AWS is an AWS Solutions implementation that deploys a conversational question-and-answer chatbot into your own AWS account. Questions and answers are stored in Amazon OpenSearch Service and managed through a Content Designer web UI, and the bot is built on Amazon Lex so it can be reached from a web client, Amazon Connect, SMS, voice and Amazon Alexa.
Is qnabot-on-aws free to use? What license does it have?
qnabot-on-aws is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is qnabot-on-aws still maintained?
Updated within 6 months. The last commit to qnabot-on-aws was on Sep 9, 2026.
What can I use qnabot-on-aws for?
Deploying a customer support FAQ bot that answers common questions across web chat and phone. Reducing call center wait times by automating routine support questions through Amazon Connect. Building a question-answering assistant grounded in a company's own documents via a Bedrock Knowledge Base.
How do I install qnabot-on-aws?
Install Node.js, npm, git LFS, Python 3.14+, Poetry and the AWS CLI, then clone the repo Install QnABot's Node modules from the source directory: npm install Generate config.json, then set region, profile, namespace and devEmail: npm run config Create the bootstrap S3 bucket, then deploy the stack (run bootstrap first, then up): npm run up
Where can I get qnabot-on-aws?
The source code and installation instructions are on GitHub: https://github.com/aws-solutions-library-samples/qnabot-on-aws

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects