Chatbot Flask avec streaming SSE et API Mistral. Gestion du contexte conversationnel et system prompt paramétrable.
POST /chat ──► Flask ──► Mistral API ──► SSE stream
GET /health ──► {"status": "ok"}
# 1. Créer et activer un environnement virtuel
python3 -m venv .venv
source .venv/bin/activate # Linux / macOS
# .venv\Scripts\activate # Windows
# 2. Installer les dépendances
pip install -r requirements.txt
# 3. Configurer la clé API
cp .env.example .env
# Renseigner MISTRAL_API_KEY dans .env
# 4. Lancer l'application
python app.pydocker compose up --buildcurl http://localhost:5000/healthcurl -N -X POST http://localhost:5000/chat \
-H "Content-Type: application/json" \
-d '{"message": "Quels sont les symptômes de la grippe ?"}'curl -N -X POST http://localhost:5000/chat \
-H "Content-Type: application/json" \
-d '{
"message": "Et le traitement ?",
"messages": [
{"role": "user", "content": "Quels sont les symptômes de la grippe ?"},
{"role": "assistant", "content": "Fièvre, courbatures, fatigue, toux sèche."}
]
}'curl -N -X POST http://localhost:5000/chat \
-H "Content-Type: application/json" \
-d '{
"message": "Bonjour",
"system_prompt": "Tu es un assistant juridique spécialisé en droit français."
}'GitHub Actions : lint ruff + test /health à chaque push.