AI agricultural advisory platform for Ethiopian farmers. Features multi-agent orchestration (Plan→Execute→Validate→Critic), 3 ML crop prediction models, 22+ MCP tools, multilingual support (Amharic/Oromo/English), semantic caching, and Human-in-the-Loop safety. Built with FastAPI & GPT-4o-mini.
# FarmLine AI — Farmer Advisory & ML Prediction Agent
FarmLine AI is an intelligent multi-agent agricultural advisory platform designed for Ethiopian farmers and agricultural extensions. It provides real-time personalized crop recommendations, optimal plantation timing predictions, harvest duration estimates, live weather forecasts, and interactive farm profile management.
---
## Key Features
- **Multi-Agent Orchestrator Pipeline**: Deconstructs user agricultural queries through Planner, Router, Executor, Validator, and Critic agents.
- **Machine Learning Prediction Suite**:
- **Random Forest Crop Recommendation Model**: Recommends optimal crops based on 16 soil and climate feature parameters.
- **Decision Tree Plantation Day Model**: Predicts exact recommended planting calendar days.
- **Decision Tree Harvest Duration Model**: Estimates total days until harvest for target crops.
- **Standalone Direct ML Predictor Page (`/predictor`)**: Simple, fast button-driven predictions with farm profile auto-fill.
- **MCP Tool Server Integration**: Exposes prediction, weather, crop inventory, and location tools over standard Model Context Protocol.
- **Interactive Parameter Form Gate (HITL)**: Promptly captures missing soil parameters (N, P, K, pH, rainfall, temperature) via interactive forms before running model inference.
- **Farmer Dashboard (`/dashboard`)**: Direct visualization and editing of farm soil characteristics, climate metrics, location details, and active crop fields.
---
## Quick Start
### 1. Installation & Environment Setup
```bash
# Clone the repository
git clone git@github.com:Tewodros-Awraris/Farmer-Agent.git
cd Farmer-Agent
# Create virtual environment & install dependencies
python -m venv venv
source venv/bin/activate # On macOS/Linux
# or: venv\Scripts\activate # On Windows
pip install -r requirements.txt
```
### 2. Run Application Server
```bash
# Launch FastAPI development server
python -m app.main
```
The server will start at `
0.0.0.127. …