CoolFace
Apppublic

jdalfonso/repilot-recycling-chatbot

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
App README

RePilot Recycle Chatbot 🤖♻️

![License](https://opensource.org/licenses/MIT) ![Python](https://www.python.org/) ![Streamlit](https://streamlit.io/) ![PostgreSQL](https://www.postgresql.org/) ![MongoDB](https://www.mongodb.com/) ![ChromaDB](https://www.trychroma.com/) ![LiteLLM](https://github.com/BerriAI/litellm) ![SentenceTransformers](https://www.sbert.net/) ![EcoLogits](https://github.com/your-org/ecologits) ![Mistral](https://mistral.ai/)

Table des matières

Présentation

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).

Fonctionnalités

  • —🎯 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 (clé:valeur) pour un apprentissage efficace du RAG
  • —ChromaDB : Stockage des vecteurs (embeddings) en chunks avec SentenceTransformer
  • —👥 Gestion Utilisateurs
  • —Interface admin dédiée
  • —Système de quiz interactif
  • —Historique des conversations
  • —Feedback utilisateur

Architecture du projet

[image]

Installation

Vous avez deux façons d'initialiser localement le projet

DOCKER

Prérequis
  • —Docker
  • —Ficher .env
sh
MISTRAL_API_KEY=${MISTRAL_API_KEY}
HF_TOKEN=${HF_TOKEN}
sh
docker compose up --build -d

Local

Prérequis
  • —Python 3.11
  • —PostgreSQL
  • —Compte Mistral AI
  • —Un fichier .env contenant vos clés API (par exemple, MISTRAL_API_KEY)
Étapes d'installation
bash
# 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.txt
Configuration de la base de données
bash
psql -U postgres -f database/init.sql
Configuration des variables d'environnement

Créer un fichier .env et y ajouter les informations suivantes :

ini
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=poc_rag
POSTGRES_USER=your_user
POSTGRES_PASSWORD=your_password
MISTRAL_API_KEY=your_api_key

Utilisation

bash
streamlit run app.py
Accès
  • —Interface utilisateur :
  • —Login : user
  • —Password : user123
  • —Dashboard admin :
  • —Login : admin
  • —Password : admin123

Contribution

  1. 1.Forker le projet
  2. 2.Créer une branche :
bash
   git checkout -b feature/NouvelleFonctionnalite
  1. 1.Commiter vos modifications :
bash
   git commit -m "Ajout nouvelle fonctionnalité"
  1. 1.Pousser vers le dépôt distant :
bash
   git push origin feature/NouvelleFonctionnalite
  1. 1.Créer une Pull Request

Auteurs

Core Team

Contributions

![Contributors](https://github.com/jdalfons/RePilot-recycle-chatbot/graphs/contributors)

Merci à tous les contributeurs qui ont participé à ce projet !