The article discusses the challenges faced by many customers in managing diverse data sources and presents a solution for developing a chatbot capable of answering queries using both documentation and databases. The chatbot leverages Amazon’s fully-managed service, Amazon Bedrock, which uses high-performing Foundation Models (FMs) from leading AI companies, dealing with structured and unstructured data.
Amazon Bedrock features tools like Retrieval Augmented Generation (RAG) for documentation retrieval. It enables users to retrieve data from sources beyond the foundation model and incorporates contextually relevant retrieved data into the responses. With respect to databases, users can employ different FMs to convert text into SQL queries, thus allowing them to extract data effectively.
To provide more comprehensive responses, particularly when dealing with complex queries, Amazon Bedrock also provides a tool called Agents. This tool enables applications to execute tasks across company systems and databases, integrating combined information from both documentation and databases.
The article presents a practical illustration of constructing an automated chatbot using Amazon Bedrock, complete with a detailed architecture diagram to explain the various processes involved. The example relies on publicly available data from different resources such as Amazon EC2 User Guide for Linux Instances and Amazon EC2 Instance Types documentation.
The deployment process involves the use of the open-source software development framework, AWS Cloud Development Kit (AWS CDK), which defines cloud infrastructure and helps provision it through AWS CloudFormation. A test run with predefined questions helps validate the chatbot’s responses from different data sources and the successful functioning of the Amazon Bedrock agent.
The solution also allows customization to integrate custom data. Guidelines are provided on integrating knowledge base data and structural data with a few adjustments and updates in the code. Once the solution is no longer required, there’s an avenue to delete resources to avoid additional costs. Users interested in creating their own chatbots can start exploring with Amazon Bedrock.
The blog post is contributed by diverse authors from different roles within AWS, all of whom specialize in applying AI/ML solutions to address various complex problems. Their backgrounds range from machine learning engineering to data science and DevOps consulting, bringing a breadth of perspectives to the solutions offered.