This is a Serverless Application Model (SAM) template that sets up the infrastructure for a private GPT frontend application using AWS services. The application includes a website hosted on an S3 bucket with CloudFront distribution, user authentication via Cognito User Pool, and access to Amazon Bedrock foundation models for generative AI capabilities.
The architecture consists of the following components:
- An S3 bucket to host the website files
- A CloudFront distribution for caching and serving the website content
- A Cognito User Pool for user authentication and authorization
- A Cognito User Pool Client for handling authentication flows
- An Identity Pool and authenticated IAM role for accessing AWS resources
- The authenticated IAM role has permissions to invoke Anthropic's Claude foundation models via Amazon Bedrock
To deploy the application, follow these steps:
-
Clone the repository
-
Install the AWS SAM CLI
-
Run
sam deploy --guided
to deploy the application stack
During the guided deployment, you'll be prompted to provide:
-
The AWS region
-
The desired environment (dev, test, prod)
-
Other stack configuration parameters
After successful deployment, the CloudFront distribution URL, Cognito User Pool details, and other relevant outputs will be displayed.
Visit the CloudFront distribution URL to access the website
Sign up or sign in using the Cognito User Pool
Interact with the application, which will leverage the Bedrock foundation models for generative AI capabilities
If you'd like to contribute to this project, please follow the standard GitHub workflow:
-
Fork the repository
-
Create a new branch for your feature/bug fix
-
Commit your changes
-
Push to the branch
-
Create a new Pull Request
This project is licensed under the MIT License.
Note: This is a basic README covering the key aspects of the project. You may want to enhance it further with additional details, such as local development setup, testing instructions, code structure overview, and any other relevant information.