Skip to content

About

talan summer camp project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AgriGuide — Plateforme d'Aide à la Décision Agricole par IA Multi-Agents

AgriGuide est une plateforme SaaS complète d'aide à la décision pour les agriculteurs, coopératives et conseillers agronomiques en France. Elle combine données satellitaires (Copernicus Sentinel-2), géomatique officielle (Cadastre, IGN LiDAR HD, RPG), modèles de Deep Learning / Machine Learning, et un écosystème d'agents IA autonomes (LangGraph, Mistral AI, Qdrant).


🌟 Fonctionnalités Principales

  • 🗺️ Conseiller Parcellaire & Agro-Écologique (/agriculture) :
    • Détection parcellaire automatique (Cadastre API Carto & Registre Parcellaire Graphique WFS).
    • Analyse physico-chimique du sol (SoilGrids ISRIC) et historique climatique (Open-Meteo).
    • Végétation & vigueur par satellite Sentinel-2 (NDVI, NDWI, NDMI).
    • Modélisation du terrain en 3D interactif (Three.js + LiDAR HD IGN) et carte Mapbox GL JS.
    • Recommandation culturale multicritère (RandomForest + TempCNN BreizhCrops) et modulation d'azote VRA (format ISOBUS / CSV).
    • Estimateur de séquestration carbone et revenus de crédits carbone.
  • 💬 Assistant Agronomique RAG & Chat Flottant :
    • Chatbot conversationnel contextualisé à la parcelle sélectionnée et au profil connecté.
    • RAG hybride basé sur le corpus documentaire technique (ARVALIS, Terres Inovia, ITB, HAL).
  • ⚖️ Agent Réglementation & PAC (/regulation) :
    • RAG juridique sur le Code Rural, les normes BCAE, éco-régimes et arrêtés ministériels.
    • Moteur de synchronisation et de recherche des subventions et aides financières en temps réel (Tavily).
  • 📈 Bourse Agricole & Vente à Terme (/trading) :
    • Cotations des marchés de matières premières agricoles (Euronext / MATIF) en direct et séries historiques.
    • Simulateur de décision commerciale pour agriculteurs (Vendre, Stocker au hangar ou Patienter).
    • Alertes de marché et signaux de couverture contre la volatilité des cours.
  • 🔬 Scanner & Diagnostic Phytosanitaire par Vision IA (/diagnostic) :
    • Reconnaissance automatique de plus de 40 pathologies végétales, maladies fongiques et insectes ravageurs via Vision IA (Mistral Pixtral).
    • Détection des auxiliaires bénéfiques (coccinelles, syrphes) et recommandations de biocontrôle.
  • 🐛 Agent Détection d'Insectes & Cartes d'Alerte (backend/agent_insects) :
    • Détection des ravageurs par traitement d'images et génération de cartes d'alerte territorialisées avec LangGraph.
  • ♻️ Valorisation des Déchets & Coproduits (backend/waste_agents) :
    • Base de connaissances et marketplace de valorisation des résidus de récolte (méthanisation, compostage, paillage).
  • 🌦️ Dashboard Météo Agricole & Pulvérisation (/weather) :
    • Fenêtres météo optimales de traitement, cumul pluviométrique et alertes gel/canicule.
  • 🛡️ Agent Risk Analyst & Risque Climatique Paramétrique (/risk • Port 8010) :
    • Évaluation du risque de sécheresse basée sur le papier scientifique de référence Belhsen et al. (2026, JRACR).
    • Calcul de l'anomalie pluviométrique $SPI_{3m}$ (loi Gamma) et du bilan hydrique $SPEI_{3m}$ (loi Pearson III).
    • Détection du stress végétatif $NDVI_{\text{decay}}$ par imagerie Sentinel-2 et score composite $100 \times \Phi(-\text{CompositeIndex})$.
    • Générateur de rapport d'expertise HTML 8 sections autonome avec graphiques vectoriels SVG natifs et recommandation d'assurance paramétrique.
    • Optimisation d'assolement multi-cultures sous contraintes par programmation linéaire (solveur HiGHS) et calcul de l'indice de concentration Herfindahl-Hirschman ($HHI$).
  • 📊 Étude Économique & Business Plan (/business) :
    • Modélisation technico-économique, marges brutes, rentabilité prévisionnelle basée sur les séries FAOSTAT.

🔬 Fondement Scientifique — Agent Risk Analyst & Modèle Belhsen et al. (2026)

L'Agent Risk Analyst (backend/agent_risk, Port 8010) isole explicitement les modèles d'évaluation de risque pour garantir une rigueur académique irréprochable (PFE, soutenances et audits actuariels).

📖 Référence Académique de la Publication Source

Belhsen, Y., Ouhdouch, R., & Said, K. (2026).
Drought Risk Mapping and Parametric Insurance in Agriculture: A Machine Learning-Based Framework.
Journal of Risk Analysis and Crisis Response, 16(2), 217–253.
DOI : 10.54560/jracr.v16i2.726


🧮 Formulation Mathématique du Risque Climatique

Le moteur climatique évalue le risque composite de sécheresse d'une parcelle à partir de trois grandeurs hydro-météorologiques et satellitaires :

  1. Standardized Precipitation Index ($SPI_{3m}$) : Ajustement du cumul pluviométrique sur 3 mois glissants via la fonction de distribution de probabilité Gamma $\Gamma(\alpha, \beta)$ : $$f(x) = \frac{1}{\beta^\alpha \Gamma(\alpha)} x^{\alpha-1} e^{-x/\beta} \quad \text{pour } x > 0$$ Gestion rigoureuse du cas limite $q_0 = P(x=0) = 100%$ (zéro précipitation) avec retour à l'indice plancher $SPI = -2.5$ sans erreur de division par zéro (NaN).

  2. Standardized Precipitation-Evapotranspiration Index ($SPEI_{3m}$) : Ajustement du bilan hydrique $D = P - ET_0$ (où $ET_0$ est calculé par le modèle de Hargreaves) via la distribution Pearson Type III à 3 paramètres (asymétrie $\gamma$, position $\mu$, échelle $\sigma$).

  3. Sentinel-2 Canopy Vegetation Decay ($NDVI_{\text{decay}}$) : Mesure du décrochage relatif de la canopée végétale par rapport à la ligne de base historique de la parcelle : $$NDVI_{\text{decay}} = \max\left(0, \frac{NDVI_{\text{baseline}} - NDVI_{\text{actuel}}}{NDVI_{\text{baseline}}}\right)$$

  4. Synthèse de l'Indice Composite & Score de Risque (0 à 100) : $$\text{CompositeIndex} = 0.45 \cdot SPI_{3m} + 0.40 \cdot SPEI_{3m} - 0.15 \cdot NDVI_{\text{decay}}$$ $$\text{RiskScore} = 100 \times \Phi(-\text{CompositeIndex})$$ Où $\Phi$ est la fonction de répartition de la loi normale centrée réduite $\mathcal{N}(0,1)$.


🛡️ Moteur d'Assurance Paramétrique & Rapport HTML

  • Niveaux de Risque : FAIBLE (<30), MODÉRÉ (30-50), ÉLEVÉ (50-75), CRITIQUE ($\ge$75).
  • Primes Indicatives & Seuils : Calcul automatique des seuils d'indemnisation $s_{\text{trigger}}$ (ex: $SPEI &lt; -1.5$) et d'épuisement $s_{\text{exhaustion}}$ ($SPEI = -2.5$).
  • Export HTML Autonome (8 Sections) : Génération d'un document complet responsive prêt pour l'impression (@media print) avec graphiques SVG natifs (courbes $SPI$/$SPEI$ et décrochage $NDVI$).

⚖️ Distinction de Transparence Scientifique (Evidence-Based vs. Heuristiques V1)

Afin de respecter les principes d'honnêteté scientifique :

  • Module Scientifique (Evidence-Based) : Seul le Risque Climatique Paramétrique (SPI / SPEI / NDVI) s'appuie directement sur le framework publié par Belhsen et al. (2026).
  • Modules Heuristiques Internes (V1) : Les modèles d'assolement (HiGHS linprog + Indice $HHI$), d'incompatibilité agronomique et de scénarios financiers sont des heuristiques d'ingénierie interne (V1). Leurs disclaimers le mentionnent explicitement dans l'API et dans l'interface UI.

🏛️ Architecture Multi-Agents & Ports Backend

Le backend est architecturé en micro-services spécialisés FastAPI interconnectés :

Service Port Description
Business Agent 8000 Scénarios économiques, rentabilité, historique FAOSTAT
Auth Service 8001 Authentification JWT, gestion des rôles (farmer / acheteur) et profils
Agriculture Agent 8002 Cadastre, RPG, SoilGrids, Sentinel-2, Relief 3D, Diagnostic Vision
Monitoring Agent 8003 Surveillance quotidienne, suivi d'exploitation et alertes
Waste Agent 8004 Valorisation des coproduits et déchets agricoles
Regulation Agent 8005 RAG Réglementaire PAC, BCAE, subventions et aides en direct
Weather Agent 8006 Données météorologiques haute précision et fenêtres de traitement
Trading Agent 8007 Cotations Euronext/MATIF, signaux de vente et stratégies de marché
Orchestrator 8008 Agent superviseur LangGraph pour le routage et handoffs multi-agents
Insects Agent 8009 Détection d'insectes, sévérité et cartographie des alertes
Risk Analyst Agent 8010 Évaluation des risques climatiques (Belhsen et al., 2026), assolement HiGHS & rapports HTML

🚀 Démarrage Rapide

Prérequis

1. Variables d'environnement

À la racine du projet :

# Windows PowerShell
Copy-Item .env.example .env

# Linux / macOS
cp .env.example .env

Ouvrez .env et renseignez votre clé MISTRAL_API_KEY (compte gratuit sur console.mistral.ai). Optionnellement, renseignez SENTINEL_HUB_CLIENT_ID / SENTINEL_HUB_CLIENT_SECRET, VITE_MAPBOX_TOKEN, et WEB_SEARCH_API_KEY (Tavily).

2. Démarrer la base de données PostgreSQL / PostGIS

docker compose up -d db

(Le schéma database/schema.sql est initialisé automatiquement au premier lancement).

3. Installer les dépendances Python

Utilisez le virtualenv partagé du projet :

# Windows
.\scripts\setup_venv.ps1
# Linux / macOS
./scripts/setup_venv.sh

4. Lancer tous les agents Backend

Lancez l'ensemble des agents et la base de données en une seule commande :

python scripts/run_backend.py --with-db

Pour vérifier la santé des services : rendez-vous sur http://localhost:8002/health, http://localhost:8005/health, etc.

5. Démarrer le Frontend (React / Vite / TanStack Start)

Dans un nouveau terminal :

cd frontend
npm install
npm run dev

Ouvrez votre navigateur sur http://localhost:8080 (ou l'URL locale affichée par Vite).


📂 Structure du Répertoire

AgriGuide_Project/
├── backend/
│   ├── agent_agriculture/   # Cadastre, RPG, sol, satellite, 3D LiDAR, Diagnostic Vision
│   ├── agent_business/      # Modèles financiers, scénarios, FAOSTAT
│   ├── agent_insects/       # Détection d'insectes & cartographie des alertes (LangGraph)
│   ├── agent_monitoring/    # Suivi d'exploitation et alertes
│   ├── agent_regulation/    # RAG réglementaire PAC, subventions & aides
│   ├── agent_trading/       # Bourse Euronext/MATIF & stratégie de commercialisation
│   ├── agent_weather/       # Météorologie & fenêtres de pulvérisation
│   ├── auth/                # Authentification, JWT, profils agriculteurs
│   ├── orchestrator/        # Superviseur & coordination LangGraph
│   ├── waste_agents/        # Valorisation des coproduits & marketplace déchets
│   └── shared/              # Modèles et clients partagés
├── database/
│   ├── schema.sql           # Schéma PostgreSQL + PostGIS
│   └── migrations/          # Scripts de migration incrémentaux
├── frontend/                # Application React 19 / TanStack Router & Start / TailwindCSS
├── scripts/                 # Scripts d'automatisation (run_backend.py, setup, etc.)
└── docker-compose.yml       # Stack PostgreSQL PostGIS

🛠️ Dépannage Courant

  • Erreur 429 Mistral (Rate Limit) : Assurez-vous que votre modèle est configuré sur un modèle compatible avec votre plan dans .env :
    MISTRAL_MODEL=open-mistral-7b
  • Base de données / migrations : Si vous devez réinitialiser la base de données locale à neuf :
    docker compose down -v
    docker compose up -d db
  • Dépendances Frontend : En cas de problème avec des modules graphiques (Three.js, Mapbox, Leaflet) :
    cd frontend && npm install

About

talan summer camp project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages