MiniChatGPT is a simple chatbot application built with Flask and Ollama, designed to simulate a chat interface similar to ChatGPT. The application includes a web interface for user interaction and a backend API to handle chat messages.
- Chat Interface: A web-based chat interface built with HTML, CSS, and Bootstrap.
- API Integration: Communicates with an API to generate chat responses.
- Testing: Comprehensive tests using pytest to ensure the functionality of the chat endpoints.
- CI/CD Pipeline: Automated linting, testing, and Docker image building using GitHub Actions.
web/: Contains the Flask application code.api.py: The main API endpoints for the chat application.templates/: HTML templates for the web interface.static/: Static files like CSS and JavaScript.
tests/: Contains test cases for the application.test_app.py: Test cases for the Flask application endpoints.
.github/workflows/ci.yml: GitHub Actions configuration for CI/CD pipeline.requirements.txt: Python dependencies for the project.README.md: Project documentation.
- Docker and Docker Compose
- Python venv
- Ubuntu 24.04.1 LTS
- Clone the repository:
git clone git@github.com:MlCHAL-S/MiniChatGPT.git MiniChatGPT
cd MiniChatGPT- Create a virtual environment and activate it:
python -m venv .venv
source .venv/bin/activate- Install the dependencies:
pip install -r requirements.txtWithin the root directory run:
docker-compose up --buildThen visit http://localhost:5000/ in your browser.
pytest