This project deploys a Slack ChatBot integration to a managed RAG service provided by Amazon Bedrock Knowledge base. All resources are deployed and managed using the AWS Cloud Development Kit (CDK). In this solution, an AWS API Gateway and AWS Lambda provide an interface to an Amazon Bedrock Knowledge base consisting of a vector database using AWS Opensearch serverless (AOSS) and an AOSS index via a custom resource.
The Slack integration is provided through the Slack Bolt Library for Python running in the Request Processor Lambda function. The Slack Bolt Library handles authentication and permissions to the Slack application. Slack Bolt provides a dedicated user guide to deploy and run the library in a Lambda function.
A detailed guide to deploy the project and the Slack App are given in the AWS blog: Create a generative AI assistant with Slack and Amazon Bedrock.
In this example, the Bedrock Knowledge base is populated with all of the public documentation of the AWS Well-Architected Framework. The SlackBot has been given a Slash Command function /ask-aws where users are able to ask any AWS design, architecture, security and other best practice related questions.
- Contributions Guidelines Submit Issues, Feature Requests or Bugs
This project has adopted the Amazon Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opensource-codeofconduct@amazon.com with any additional questions or comments.
See Security Issue Notifications for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.
