Plateforme Intelligente de Nutrition basée sur LLM + RAG + Agent IA
Tagline: Smart Nutrition • AI Agent • Ramadan Mode • Gym Recommendation
Projet full-stack IA orienté soutenance universitaire: assistant nutritionnel intelligent avec:
- RAG avancé (chunking récursif + récupération hybride dense/lexicale)
- Agent IA outillé (LangGraph ReAct + outils métier)
- Mémoire conversationnelle
- Mode Ramadan (Shour, Iftar, post-Tarawih, hydratation, énergie)
- Calcul calories/macros, suivi utilisateur, et recommandations de salles locales (Tunisie)
app.py (Gradio UI)
└── src/agent.py (LangGraph ReAct Agent + ChatGroq)
├── src/tools.py (6 tools métier + outil RAG)
├── src/rag_chain.py (prompt RAG + citations)
│ └── src/retriever.py (hybrid retrieval)
│ └── src/vectorstore.py (load/split/index docs FAISS)
│ └── src/embeddings.py (MiniLM embeddings)
└── src/config.py (paramètres/env)
Bashai-nutrition-assistant/
├── data/
├── src/
│ ├── __init__.py
│ ├── config.py
│ ├── embeddings.py
│ ├── vectorstore.py
│ ├── retriever.py
│ ├── tools.py
│ ├── agent.py
│ ├── rag_chain.py
│ └── utils.py
├── app.py
├── .env.example
├── requirements.txt
└── README.md
- Cloner/télécharger le projet.
- Créer un environnement virtuel.
- Installer les dépendances.
- Configurer les variables d'environnement.
python -m venv .venv
# Windows PowerShell
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .envPuis renseigner GROQ_API_KEY dans .env.
python app.pyAjoutez vos fichiers dans data/:
- Guides nutrition (PDF/TXT/MD)
- Références Ramadan
- Tables calories/macros
- Notes sport/fitness local
Le moteur charge automatiquement ces documents et construit un index FAISS.
calculer_besoins_caloriques(...)generer_plan_repas(...)calculer_calories_repas(...)mode_ramadan(...)recommander_gym_locale(...)rechercher_documents_nutrition(...)(RAG + citations)
- Prompt système orienté sécurité + anti-hallucination
- Règles explicites: utiliser les outils pour calculs, citer les sources RAG
- Format de réponse structuré et actionnable
- Adaptation culturelle tunisienne explicite
- Chat moderne avec historique
- Panneau profil utilisateur (âge, poids, taille, activité, objectif)
- Liste des villes tunisiennes chargée dynamiquement via bibliothèque (
geonamescache) - Toggle Mode Ramadan
- Suivi de progression (poids, calories, adhérence)
- Exemples de prompts rapides
- Toggle Dark mode
- Upload de fichiers (bonus workflow)
- Reindex FAISS depuis l'interface après upload
- Géolocalisation live navigateur + recherche de gyms proches (OSM) avec fallback local
- Démo 1: calcul besoins + macros
- Démo 2: génération plan repas personnalisé
- Démo 3: question factuelle via RAG avec citations
- Démo 4: mode Ramadan complet
- Démo 5: recommandation salle locale
- Ajouter une vraie base nutritionnelle tunisienne élargie
- Connecter APIs géolocalisation pour gyms temps réel
- Ajouter authentification + stockage persistant (PostgreSQL)
- Eval RAG systématique (RAGAS / benchmarks internes)