An AI-powered system that automatically creates PowerPoint presentations by searching the web, generating slides, and getting the downloadable link.
- Web Search: Uses Firecrawl to gather information from the internet
- PowerPoint Generation: Creates professional PPTX files with multiple slides
- Interactive Frontend: Streamlit-based chat interface
- Real-time Tracing: Shows AI agent decision-making process
- Amazon Bedrock - AI agent orchestration and LLM integration
- AWS Lambda - Serverless compute for backend functions
- Amazon S3 - File storage for generated PowerPoint presentations
- Amazon API Gateway - REST API endpoints
- Python 3.9+ - Backend programming language
- Streamlit - Interactive web interface
- AWS Amplify - Frontend hosting and deployment
- python-pptx - PowerPoint file generation
- boto3 - AWS SDK for Python
- Firecrawl API - Web scraping and content extraction
- AWS CloudFormation - Infrastructure as Code
- Git - Version control
- Bash - Deployment scripts
The system uses Amazon Bedrock Agents with three Lambda functions:
search-web- Performs web searches using Firecrawlcreate-pptx- Generates PowerPoint files and uploads to S3
-
Setup AWS Resources
- Follow instructions in
setup_instructions.md - Deploy Lambda functions using provided code
- Configure Bedrock agent with action groups
- Follow instructions in
-
Create Lambda Layer
./create_lambda_layer.sh
-
Install Dependencies
pip install -r requirements.txt
-
Run Frontend
streamlit run chatbot_frontend.py
"Research the latest AI trends and create a PowerPoint"
"Create slides about Amazon Bedrock features"
"Research quantum computing and make a presentation"
lambda_search_web.py- Web search Lambda functionlambda_create_pptx.py- PowerPoint creation Lambda functionchatbot_frontend.py- Streamlit web interfacecreate_lambda_layer.sh- Script to create Lambda layersetup_instructions.md- Detailed setup guide
- AWS Account with Bedrock access
- Firecrawl API key (set in environment variables)
- Python 3.9+
- Streamlit, boto3, python-pptx
The system uses serverless architecture to minimize costs:
- Lambda functions only run when triggered
- S3 storage for generated files
- Bedrock pay-per-use pricing
- Store API keys in environment variables
- Use IAM roles with minimal required permissions
- Enable MFA on AWS root account
- Consider using AWS Secrets Manager for production