- 🤖 Introduction
- ⚙️ Tech Stack
- 🔋 Features
- 🤸 Quick Start
- 🕸️ Video Demo
- 🔗 Screenshots
- 📖 Reference
- 💁🏽 Contributing
BatChat is a Flask-based web application that brings Batman's charm to your conversations. Send an image or text, and Batman will share a Bat-fact with a subtle, dark remark.
- Web Framework: Flask
- Frontend: HTML, CSS, Bootstrap
- JavaScript Library: jQuery
- AJAX Library: jQuery
- Back-end: Python
- Generative AI: Google's Vertex AI, Gemini-pro-vision, gemini-pro
- Version Control: Git
- Hosting: Localhost (for development), Heroku, AWS, or Google Cloud (for deployment)
- Database (Optional): SQLite or any preferred database
- Batman-themed chatbot.
- Upload an image for a Bat-fact.
- Receive funny, sarcastic notes from Batman.
- Send a text and get detailed explanation.
- Get image details in the most innovative way
- Clone the repository:
git clone https://github.com/subho004/BatGPT.git
- Navigate to the project folder:
cd BatGPT
- Set up a virtual environment:
python3 -m venv venv
- Activate the virtual environment:
-
On Windows:
.\venv\Scripts\activate
-
On macOS/Linux:
source venv/bin/activate
- Install Dependencies
pip install Flask
pip install marko google-generativeai
- Set up the environment variable for your API key:
-
Log in to your Google AI Studio account.
-
Create a new API KEY.
-
Note the API Key in a secure location.
export API_KEY=your_api_key
- Run the application:
python app.py
- Use the application
Open your web browser and go to
http://localhost:8080
to access BatChat.
batgpt_github.mp4
batchat.mp4
![Screenshot 2024-01-14 at 6 10 06 PM](https://private-user-images.githubusercontent.com/91646273/296555325-3b44564c-82de-4264-b9f4-bc2b11859e20.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4NDY5NDYsIm5iZiI6MTcyNTg0NjY0NiwicGF0aCI6Ii85MTY0NjI3My8yOTY1NTUzMjUtM2I0NDU2NGMtODJkZS00MjY0LWI5ZjQtYmMyYjExODU5ZTIwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDAxNTA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYxNDM0NWFkOGYzOWIwM2NmZjRhNTIxYmQ0ZWE3MzY4ZTY3YjNkN2U2YWViMmZkYWVjN2VlYzNjNDJlOWJmYzgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.14ELGkkfRaJ6zLL64K7H_qkf2zi_5qT3opRGkn-x6ks)
![Screenshot 2024-01-14 at 6 11 17 PM](https://private-user-images.githubusercontent.com/91646273/296555370-96965b82-4b06-45a2-b78e-89c48cd5c75f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4NDY5NDYsIm5iZiI6MTcyNTg0NjY0NiwicGF0aCI6Ii85MTY0NjI3My8yOTY1NTUzNzAtOTY5NjViODItNGIwNi00NWEyLWI3OGUtODljNDhjZDVjNzVmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDAxNTA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNlOTUwYmVmNTZkMTc3MTk2MGFhNjkxYWQ5MDU5M2EwMTFiMTYyYTdmODFmY2RlMGQyYTY2ODg0ZWJjMTE4NTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.4x_oPq6qCigtu9okpWuSSl_1z86Q1V5S1PMGXOCwEYY)
![Screenshot 2024-01-14 at 6 31 47 PM](https://private-user-images.githubusercontent.com/91646273/296555407-f322ffa9-dfc5-47d5-9d55-86b48361dda0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4NDY5NDYsIm5iZiI6MTcyNTg0NjY0NiwicGF0aCI6Ii85MTY0NjI3My8yOTY1NTU0MDctZjMyMmZmYTktZGZjNS00N2Q1LTlkNTUtODZiNDgzNjFkZGEwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDAxNTA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM2ZWRkYmEwNjJjNjk1ZTk3MzIzNDc2ZTgyYmVlMTQ0NjMyZTZjNDFiNWM2MTRmYTkxODdiMjc5ZDU3Mjk3NDEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.bH6KK9AOeeqizUQ-Q9VWn1j7PvRykjF0Js28o8hWl5E)
![Screenshot 2024-01-14 at 6 32 09 PM](https://private-user-images.githubusercontent.com/91646273/296555422-8b4980fe-f38d-4606-84c2-31469ec5cdfc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4NDY5NDYsIm5iZiI6MTcyNTg0NjY0NiwicGF0aCI6Ii85MTY0NjI3My8yOTY1NTU0MjItOGI0OTgwZmUtZjM4ZC00NjA2LTg0YzItMzE0NjllYzVjZGZjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDAxNTA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYxODE5M2Q4ZjZjOWE0YWE2YzNhNmFlZTlmMDg3ZmFiZWQwYjkzMGZiMDNkM2RiMWQyM2E2NGM3ODJmNzkxMTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.fS4Cnpy0kWj8xRMw0WSd6Vj85-Dst7-lVPRrgCQHP5M)
![Screenshot 2024-01-14 at 6 34 24 PM](https://private-user-images.githubusercontent.com/91646273/296555444-a4091f3a-bc25-4d6b-b427-b2d10813131a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4NDY5NDYsIm5iZiI6MTcyNTg0NjY0NiwicGF0aCI6Ii85MTY0NjI3My8yOTY1NTU0NDQtYTQwOTFmM2EtYmMyNS00ZDZiLWI0MjctYjJkMTA4MTMxMzFhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDAxNTA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY1N2ZlYTExNWEzOTAwZTljMTA5NzJjODMzZTRjMDNiZDMzODUxMjk0MmZkOTkwOTQ1OWI1MzgwN2FiNjJkYWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.EdWvSnTC7VtMGhnWNeiVlOwYc0YmRvRgFKn0p-byctw)
![Screenshot 2024-01-14 at 6 32 52 PM](https://private-user-images.githubusercontent.com/91646273/296555464-fad618bf-99eb-4cd1-837b-c8b8e62284d0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4NDY5NDYsIm5iZiI6MTcyNTg0NjY0NiwicGF0aCI6Ii85MTY0NjI3My8yOTY1NTU0NjQtZmFkNjE4YmYtOTllYi00Y2QxLTgzN2ItYzhiOGU2MjI4NGQwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDAxNTA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYzNmRhNTlkMjJmNGQ0ZDdhOGUzNTE3YmUxZGRhM2E0YmVkY2ZkZGNmZDFmNjAyYTYzODZhODM5MDM2NjcxZGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.mRTMEyBSCKKrJMGzvx03uK6yJoeZBNiP6-48BfByYEA)
![Screenshot 2024-01-14 at 6 33 58 PM](https://private-user-images.githubusercontent.com/91646273/296555474-249a6cc1-8ffc-48d4-8aca-82dc8250324e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4NDY5NDYsIm5iZiI6MTcyNTg0NjY0NiwicGF0aCI6Ii85MTY0NjI3My8yOTY1NTU0NzQtMjQ5YTZjYzEtOGZmYy00OGQ0LThhY2EtODJkYzgyNTAzMjRlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDAxNTA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThiNzg3MWYzOWZjNmM5ZWM1M2FlNGNjMjZmNGZkMzdjOGQ0NmI2YWI1MjU5ZmI0Njg4OGExMDExNjI5NjQ1MDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.mPydTlvqEH-AO7_bpLv9q_JRQE09WPOno0m4X5v6JNY)
![Screenshot 2024-01-14 at 6 34 41 PM](https://private-user-images.githubusercontent.com/91646273/296555491-ffdc5734-12d9-4e39-a901-a8af5debefea.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4NDY5NDYsIm5iZiI6MTcyNTg0NjY0NiwicGF0aCI6Ii85MTY0NjI3My8yOTY1NTU0OTEtZmZkYzU3MzQtMTJkOS00ZTM5LWE5MDEtYThhZjVkZWJlZmVhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDAxNTA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEyYTg2YWYzZGFmNzUyNjc5MTNkMmI3MTUxODFlNTU4ZDE3ODIyMDYzZTgwMDUzYzk1Nzg1OTBjNmJkZGIzNmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.osTcBTBV58zz2DvMzTddYUQNkv3JOVw1yCI1UEEm83o)
![Screenshot 2024-01-14 at 12 47 37 PM](https://private-user-images.githubusercontent.com/91646273/296536454-48f9ece6-2b4b-40a5-94d1-f944a90346d8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4NDY5NDYsIm5iZiI6MTcyNTg0NjY0NiwicGF0aCI6Ii85MTY0NjI3My8yOTY1MzY0NTQtNDhmOWVjZTYtMmI0Yi00MGE1LTk0ZDEtZjk0NGE5MDM0NmQ4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDAxNTA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTczNDk0NzhhODliMTg5ZGY1MzkwNGY4YTk2NTFmOTYzNDQ3YzIwMmQyNDk2NWIzZjU4MGM5MDZkZjc1Y2FkYTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.7NLgGFQnKvtP79doD3S00IbvhM_MfrolcxqpvnUVxI8)
Contributions are welcome! If you have ideas for new features, improvements, or find any issues, feel free to open an issue or submit a pull request.