A tiny Flask-based “bobble-head” chatbot UI that talks to a local, OpenAI-compatible LLM server.
Designed for quick demos on macOS (MLX) and for cluster deployment (Ollama/vLLM).
- Clean, responsive UI with a bobble-head robot
- Flask backend calling
/v1/chat/completions(OpenAI API shape) - Swappable model/runtime via environment variables (
OPENAI_BASE,MODEL) - Zero front-end build step (HTML/CSS/JS only)
- Python 3.11+ (3.13 works)
- One of:
- MLX server on macOS (Apple Silicon), or
- Ollama (CPU/GPU), or
- Any OpenAI-compatible server (e.g., vLLM/TGI) reachable via HTTP
# from project root
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
# point to your LLM server (adjust as needed)
export OPENAI_BASE=http://127.0.0.1:8080
export MODEL=mlx-community/Mistral-7B-Instruct-v0.3-4bit
python app.py
# open http://127.0.0.1:5001