Skip to content

Utkarshlearner/aws-ai-text-summarizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 AI-Powered Text Summarizer (Serverless on AWS)

πŸš€ Project Overview The AI Summarizer is a fully serverless, scalable application that generates intelligent and concise summaries of input text using Amazon Bedrock. To optimize performance and minimize redundant AI calls, results are cached using DynamoDB. The solution exposes a REST API using API Gateway, and provides an interactive React.js frontend hosted via AWS Amplify.

βœ… Key Features πŸ” AI-Powered Summarization using Amazon Bedrock foundation models (e.g.Titan). πŸ› οΈ Fully Serverless architecture built with AWS Lambda and API Gateway. ⚑ Low Latency Caching with DynamoDB to avoid repeated calls for the same input. 🌐 CORS-Enabled REST APIs for seamless frontend-backend communication. πŸ’» React.js Frontend with real-time input/output interaction. πŸ“¦ Infrastructure as Code (IaC) using AWS CloudFormation.

πŸ—οΈ Architecture Diagram [React.js Frontend] | β–Ό [API Gateway (REST)] | β–Ό [AWS Lambda Function] | β”œβ”€β”€ Check DynamoDB for Cached Summary └── If Not Found β†’ Call Amazon Bedrock (Titan.) | β–Ό Save Summary in DynamoDB β†’ Return to Frontend

πŸ› οΈ Tech Stack Service / Tech ----> Purpose

Amazon Bedrock ----> AI/ML summarization using foundation models AWS Lambda ----> Backend business logic (Python) API Gateway ----> Secure RESTful endpoints Amazon DynamoDB ---> Caching layer for summarized content React.js ----> Frontend user interface AWS Amplify ---> Hosting for React frontend CloudFormation ---> IaC to provision the infrastructure

βš™οΈ Prerequisites Before you begin, ensure you have the following installed:

βœ… An AWS Account βœ… AWS CLI installed and configured βœ… Node.js and npm installed (for React frontend) βœ… Python 3.x installed (for Lambda backend) βœ… Basic permissions to use Amazon Bedrock, Lambda, API Gateway, and DynamoDB

πŸ§ͺ How It Works User inputs text in the React app. The input is sent via API Gateway to a Lambda function. Lambda checks DynamoDB for a cached summary. If not found, it calls Amazon Bedrock for summarization. The summary is stored in DynamoDB and returned to the user.

πŸ“ Project Structure aws-ai-text-summarizer/ β”œβ”€β”€ frontend/ # React.js frontend β”œβ”€β”€ infrastructure/ # Infrastructure as Code (IaC) templates β”‚ β”œβ”€β”€ amplify.yaml # Amplify β”‚ β”œβ”€β”€ apigateway.yaml # API Gateway configuration β”‚ β”œβ”€β”€ dynamodb.yaml # DynamoDB table definition β”‚ β”œβ”€β”€ iam.yaml # IAM roles and policies β”‚ └── lambda.yaml # Lambda function resources β”œβ”€β”€ deployment_steps/ # Steps for Deployment └── README.md # Project overview and usage

✍️ Author Utkarsh Rastogi AWS Community Builder πŸš€

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published