Functional Requirements:
Provide intelligent, thoughtful responses to all questions about Star Wars: A New Hope
Integrate the chatbot with a comprehensive knowledge base with detailed information
Non-functional Requirements:
Ensure that the model maintains an average response time of under 3 seconds for user queries
Uptime Availability of 99.95%
Order of Operations:
Choose an appropriate Foundational Model in Amazon Bedrock
Store reference data into a bucket using Amazon S3
Create a knowledge base in Amazon Bedrock, add the S3 bucket to the base, and connect the Foundational Model to use the knowledge base
Configure the AI chatbot agent using Amazon Lex and add intents
Test and monitor performance!
Claude by Anthropic is perfect for my project because of its advanced language understanding and generation skills. With a serverless deployment type and a maximum token count of 100,000, this model will easily be able to handle application (pull?) requests
Created a general-purpose bucket with encryption enabled. Uploaded full script of Star Wars: A New Hope into the bucket as the first data deposit
Next, I went back to bedrock to create a knowledge base that my FM could pull from to answer questions. I chose S3 as the data source and pointed the knowledge base to the bucket I created in step 2. I opted for the default embedding model and vector store for this portion
The next step was to configure my chatbot. I named the bot, created an IAM role to allow Lex the basic permissions necessary to carry out the task, and added a basic intent that welcomed new users. Additionally, I added an AWS built-in generative AI intent to help to parse the knowledge base and generate thoughtful responses to user questions
Chatbot naming convention & IAM role assignment
Here, I configured two intents. WelcomeIntent is a hard-coded greeting to fit the project theme, and QnABotIntent is a proprietary AWS GenAI intent tool used to parse the knowledge base to help generate responses
Now for the fun bit! Now that the chatbot had been developed, primed with a knowledge base, and connected to a web application, I ran various queries to gauge the response accuracy and overall effectiveness
As I added more information to the S3 bucket to give the FM context, the responses became more insightful
Recap
In this project, I built a intelligent and fun AI chatbot designed to provide insight into one of the greatest movies ever made!
Functional Requirements:
Provide Intelligent Responses:
The AI model successfully provides intelligent, thoughtful, and contextually relevant responses to Star Wars: A New Hope user questions. The chatbot utilizes the Claude by Anthropic model for advanced language understanding and generation capabilities, ensuring high-quality interactions
Integrate the Chatbot with a Comprehensive Knowledge Base:
The chatbot is integrated with a comprehensive knowledge base containing detailed information about Star Wars: A New Hope. The knowledge base is stored in an Amazon S3 bucket and connected to the foundational model using Amazon Bedrock
Non-functional Requirements:
Ensure that the Model Maintains an Average Response Time of Under 3 Seconds for User Queries:
Evaluation: Testing samples show that the chatbot consistently maintains an average response time of under 2 seconds, comfortably meeting the requirement of under 3 seconds. The system's architecture ensures quick and efficient query processing.
Uptime Availability of 99.95%:
Evaluation: Based on the Service Level Agreements (SLA) for the various AWS services used in the project, the chatbot system achieves a monthly uptime percentage of at least 99.95%, exceeding the requirement of 99.9%
User Experience Enhancements:
Improve the user interface (UI) with a modern design framework (e.g., React, Angular) and implement responsive design for usage across different devices.
Enhanced User Interaction:
Implement Natural Language Understanding (NLU) capabilities to better handle diverse user inputs and improve response accuracy
Add voice interaction capabilities using Amazon Polly to provide a more engaging and accessible user experience
Expanded Knowledge Base:
Continuously update the knowledge base with additional data sources related to Star Wars lore and other related media
Advanced Analytics and Monitoring:
Implement advanced monitoring and logging using AWS CloudWatch to track chatbot performance and user interactions.
Use analytics to gain insights into user behavior, popular queries, and areas for improvement
User Feedback Integration:
Create a feedback mechanism for users to rate responses and provide suggestions
Use feedback to iteratively improve the chatbot's performance and user satisfaction