AI-powered conversational assistant built with Django and LangChain
📝 Description
ChatFlow AI is a multi-user chatbot platform built with Django and powered by the Groq API (Llama 3.3 70B).
Users can register, log in and chat with an AI assistant whose entire conversation history is saved.
The system follows a production-ready structure using Docker, PostgreSQL, LangChain and environment-based configuration.
✨ Features
- User Authentication: Full register/login with isolated user sessions
- Intelligent Chatbot: Real-time responses via Groq API + LangChain
- Conversation Management: Create, rename and delete with Ajax
- Conversation History: Persistent chat history per user
- Responsive UI: Clean layout with mobile-first design
- Production Ready: Dockerized stack with health checks and optimized architecture
🚀 Tech Stack
- Backend: Python 3.12, Django 5.2, LangChain
- Database: PostgreSQL 16
- API: Groq (Llama 3.3 70B Versatile)
- Containerization: Docker & Docker Compose
- Configuration: Python Decouple (.env based)
⚙️ Getting Started
Run the project locally using Docker.
- Docker
- Docker Compose
- Groq API Key (get yours at https://console.groq.com/)
git clone https://github.com/CFBruna/chatflow-ai.git
cd chatflow-aiCopy .env.example and edit with your values (including GROQ_API_KEY):
cp .env.example .envInside .env, set:
GROQ_API_KEY=your_groq_api_key_here
SECRET_KEY=your-django-secret-key-here
docker compose up --buildTo run in background:
docker compose up -d --buildOpen your browser:
http://localhost:8000
The first build may take a few minutes.
A superuser is automatically created:
Username: admin
Password: admin123
🏗️ Project Structure
ChatFlow AI/
├── core/ # Django project settings
├── chatbot/ # Chat logic + LangChain integration
├── accounts/ # User authentication system
├── static/ # CSS, JS, images
├── staticfiles/ # Collected static files
├── Dockerfile # Container definition
├── docker-compose.yml # Multi-container orchestration
├── entrypoint.sh # Initialization script
└── requirements.txt # Python dependencies
📜 License
This project is licensed under the MIT License.
➡️ Click here to view the license: LICENSE
👤 Author
Bruna Menezes
🔗 LinkedIn: https://www.linkedin.com/in/bruna-c-menezes/
🐙 GitHub: https://github.com/CFBruna
📧 Email: brunaads.ti@gmail.com
⭐ If this project helped you, consider leaving a star!
