The demo showcases the versatility of the Agent Squad System through an interactive chat interface.
Our demo showcases specialized agents, each designed for specific use cases:
| Agent | Technology | Purpose |
|---|---|---|
| Travel Agent | Amazon Lex Bot | Handles travel planning, flight bookings, and itinerary queries through a conversational interface |
| Weather Agent | Bedrock LLM + Open-Meteo API | Provides real-time weather forecasts and conditions using API integration |
| Math Agent | Bedrock LLM + Calculator Tools | Performs complex calculations and solves mathematical problems with custom tools |
| Tech Agent | Bedrock LLM + Knowledge Base | Offers technical support and documentation assistance with direct access to Agent Squad framework source code |
| Health Agent | Bedrock LLM | Provides health and wellness guidance, including fitness advice and general health information |
The demo highlights the system's ability to handle complex, multi-turn conversations while preserving context and leveraging specialized agents across various domains.
- Context Switching: Seamlessly handles transitions between different topics
- Multi-turn Conversations: Maintains context across multiple interactions
- Tool Integration: Demonstrates API and custom tool usage
- Agent Selection: Shows intelligent routing to specialized agents
- Follow-up Handling: Processes brief follow-up queries with context retention
Before deploying the demo web app, ensure you have the following:
- An AWS account with appropriate permissions
- AWS CLI installed and configured with your credentials
- Node.js and npm installed on your local machine
- AWS CDK CLI installed (
npm install -g aws-cdk)
Follow these steps to deploy the demo chat web application:
-
Clone the Repository:
git clone https://github.com/awslabs/agent-squad.git cd agent-squad -
Navigate to the Demo Web App Directory:
cd examples/chat-demo-app -
Install Dependencies:
npm install
-
Bootstrap AWS CDK:
cdk bootstrap
-
Review and Customize the Stack (optional): Open
chat-demo-app/cdk.jsonand review the configuration. You can customize aspects of the deployment by enabling or disabling additional agents.{ "context": { "enableLexAgent": true // Additional configurations } }enableLexAgent: Enable the sample Airlines Bot (See AWS Blogpost here)
-
Deploy the Application:
cdk deploy --all
-
Create a user in Amazon Cognito user pool:
aws cognito-idp admin-create-user \ --user-pool-id your-region_xxxxxxx \ --username your@email.com \ --user-attributes Name=email,Value=your@email.com \ --temporary-password "MyChallengingPassword" \ --message-action SUPPRESS \ --region your-region
Once deployment is complete:
- Open the URL provided in the CDK outputs in your web browser
- Log in with the created credentials
- Start interacting with the multi-agent system
To ensure the deployment was successful:
- Open the web app URL in your browser
- Try different types of queries:
- Travel bookings
- Weather checks
- Math problems
- Technical questions
- Health inquiries
- Test follow-up questions to see context retention
- Observe agent switching for different topics
To avoid incurring unnecessary AWS charges:
cdk destroyIf you encounter issues during deployment:
- Ensure your AWS credentials are correctly configured
- Check that you have the necessary permissions in your AWS account
- Verify that all dependencies are correctly installed
- Review the AWS CloudFormation console for detailed error messages if the deployment fails
After exploring the demo:
- Customize the web interface in the source code
- Modify agent configurations to test different scenarios
- Integrate additional AWS services
- Develop custom agent implementations
This demo application is intended solely for demonstration purposes. It is not designed for handling, storing, or processing any kind of Personally Identifiable Information (PII) or personal data. Users are strongly advised not to enter, upload, or use any PII or personal data within this application. Any use of PII or personal data is at the user's own risk and the developers of this application shall not be held responsible for any data breaches, misuse, or any other related issues. Please ensure that all data used in this demo is non-sensitive and anonymized.
For production usage, it is crucial to implement proper security measures to protect PII and personal data. This includes obtaining proper permissions from users, utilizing encryption for data both in transit and at rest, and adhering to industry standards and regulations to maximize security. Failure to do so may result in data breaches and other serious security issues.
