RePilot est un chatbot intelligent spécialisé dans le tri des déchets. Utilisant le RAG (Retrieval-Augmented Generation) et l'API Mistral, il fournit des réponses contextualisées selon la ville de l'utilisateur tout en mesurant son impact environnemental (choix de la taille du modèle).
-
🎯 RAG Intelligent
- Reformulation automatique des questions
- Réponses basées sur le contexte local (Système de tri des déchets selon la ville Paris/Grand Métropoel de Lyon)
- Système de garde-fou pour requêtes inappropriées
-
📊 Monitoring Complet
- Suivi de la latence des requêtes
- Mesure de l'impact environnemental (GWP)
- Analyse de la consommation d'énergie
- Calcul des coûts par requête
-
🗄️ Choix du Data Warehouse
- PostgreSQL : Base de données relationnelle puissante pour le scaling
- MongoDB : Base NoSQL adaptée aux instructions de recyclage pour un apprentissage efficace du RAG
- ChromaDB : Stockage des vecteurs (embeddings) en chunks avec SentenceTransformer
-
🚀 Quiz :
- Questions Personnalisées :
Générées automatiquement à partir de l'historique des interactions de l'utilisateur avec le chatbot. - Reformulation Intelligente :
Les questions sont reformulées par le LLM pour plus de clarté et de pertinence. - Réponses Fausses Générées :
Deux fausses réponses crédibles sont générées par le LLM pour augmenter la difficulté du quiz. - Filtrage par Pertinence :
Les questions non pertinentes sont automatiquement exclues grâce à un score de similarité sémantique (BERTScore). - Suivi des Performances :
Calcul du score final et affichage des résultats détaillés avec un système de feedback visuel. - Analyse des Réponses :
Enregistrement des performances dans la base de données pour des analyses futures
- Questions Personnalisées :
-
👥 Gestion Utilisateurs
- Interface admin dédiée
- Système de quiz interactif
- Historique des conversations
- Feedback utilisateur
Vous avez deux façons d'initialiser localement le projet
- Docker
- Ficher .env
MISTRAL_API_KEY=${MISTRAL_API_KEY}
HF_TOKEN=${HF_TOKEN}docker compose up --build -d- Python 3.11
- PostgreSQL
- Compte Mistral AI
- Un fichier
.envcontenant vos clés API (par exemple,MISTRAL_API_KEY)
# Cloner le dépôt
git clone https://github.com/jdalfons/RePilot-recycle-chatbot.git
cd RePilot-recycle-chatbot
# Créer et activer l'environnement virtuel
python -m venv venv
source venv/bin/activate # Sur macOS/Linux
# Installer les dépendances
pip install -r requirements.txtpsql -U postgres -f database/init.sqlCréer un fichier .env et y ajouter les informations suivantes :
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=poc_rag
POSTGRES_USER=your_user
POSTGRES_PASSWORD=your_password
MISTRAL_API_KEY=your_api_keystreamlit run app.py- Interface utilisateur :
- Login :
user - Password :
user123
- Login :
- Dashboard admin :
- Login :
admin - Password :
admin123
- Login :
-
Forker le projet
-
Créer une branche :
git checkout -b feature/NouvelleFonctionnalite
-
Commiter vos modifications :
git commit -m "Ajout nouvelle fonctionnalité" -
Pousser vers le dépôt distant :
git push origin feature/NouvelleFonctionnalite
-
Créer une Pull Request
Merci à tous les contributeurs qui ont participé à ce projet !
