This project is an AI-powered chatbot integrated with WhatsApp, with the backend running on AWS. It leverages AWS Lambda, API Gateway, DynamoDB, and the AI functionality powered by AWS Bedrock. The chatbot enables real-time messaging capabilities and is designed to be scalable and efficient.
- WhatsApp Integration: Seamless integration with WhatsApp for real-time messaging.
- AI Functionality: AI-powered responses and interactions, powered by AWS Bedrock.
- Scalable Backend: Utilizes AWS Lambda and DynamoDB for a scalable and cost-effective backend infrastructure.
- API Gateway: Facilitates communication between WhatsApp and the backend Lambda functions.
- Real-time Messaging: Provides real-time messaging capabilities for instant communication with users.
The architecture of the project consists of several components:
- WhatsApp API: Provides the interface for sending and receiving messages from WhatsApp users.
- AWS Lambda: Hosts the backend code for processing incoming messages, invoking AI functionality, and generating responses.
- API Gateway: Acts as a bridge between WhatsApp and Lambda functions, routing incoming requests and responses.
- DynamoDB: Stores chat history, user data, and other relevant information.
- AWS Bedrock: Powers the AI functionality, providing natural language processing capabilities for generating intelligent responses.
- AWS Lambda
- AWS API Gateway
- AWS DynamoDB
- AWS Bedrock
- WhatsApp API
To set up the project locally, follow these steps:
- Clone the repository from GitHub.
- Install dependencies using
pip3 install. - Configure environment variables for AWS services.
- Deploy Lambda functions and API Gateway endpoints using AWS CLI or Serverless Framework.
- Set up WhatsApp API integration and configure webhook URL to point to the API Gateway endpoint.
Once the project is set up, you can interact with the chatbot via WhatsApp:
- Send a message to the WhatsApp number associated with the chatbot.
- The chatbot will process the message, invoke AI functionality, and generate a response.
- Receive the response in real-time and continue the conversation as needed.
- Lambda: Configure Lambda functions with appropriate IAM roles and permissions. Set up environment variables for accessing other AWS services.
- API Gateway: Configure API Gateway endpoints with proper request and response mappings. Set up integration with Lambda functions.
- DynamoDB: Create DynamoDB tables for storing chat history and user data. Configure access policies and indexes as needed.
- AWS Bedrock: Set up AWS Bedrock environment with necessary models and configurations for natural language processing.
Contributions to the project are welcome! To contribute, follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your fork.
- Submit a pull request to the main repository.
This project is licensed under the MIT License. See the LICENSE file for details.
