A fully-functional LLM Interface built with Django and Groq API. This project serves as a starting point for developers looking to create their own AI chat applications with customized features.
chatgpt_clone_demo.mp4
- 🚀 Real-time streaming responses
- 🎨 Modern, responsive UI with cyberpunk theme
- 📁 File upload and processing capabilities
- 👤 User authentication and profile management
- 💾 Chat history and management
- Django 5.1.7
- Groq API
- TailwindCSS
- JavaScript (Vanilla)
- SQLite (can be configured for other databases)
- Clone the repository:
git clone https://github.com/HasanAbdelhady/Chatgpt-clone.git
- Create and activate virtual environment:
python -m venv venv
# On Windows:
venv\Scripts\activate
# On Unix or MacOS:
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Create a file and name it
.env
in the root directory:
GROQ_API_KEY=your_groq_api_key_here
JWT_SECRET=your_jwt_secret_key_here
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=1440 (or your desired number)
JWT_REFRESH_TOKEN_EXPIRE_MINUTES=30
Get your GROQ API Key from here ( it's free ): https://console.groq.com/keys
- Run migrations:
python manage.py makemigrations
python manage.py migrate
- You can create a superuser (admin) via: ( You don't have to; you can just register from the registration page.)
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
Visit http://127.0.0.1:8000
to see the application in action!
- You can update the
SYSTEM_PROMPT
inchat/views.py
- Or Change the
self.default_model
inchat/ai_models.py
to your desired model from GROQ
- Create new models in
models.py
- Add views in
views.py
- Create templates in
templates/
- Update URLs in
urls.py
The current version still needs some improvement, so feel free to make your own version.
- Fork the repository
- Create your feature branch (
git checkout -b feature/SomeFeature
) - Commit your changes (
git commit -m 'Add SomeFeature'
) - Push to the branch (
git push origin feature/SomeFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project helpful, please give it a ⭐️!
For issues, questions, or contributions, please open an issue or PR.