A privacy-preserving multi-agent system using LangGraph and Differential Privacy to provide climate-resilient farming advice for Ethiopian smallholders. Supports Amharic and Afaan Oromoo.
# Privacy-Preserving Multi-Agent Climate-Resilient Farming Advisor
A research-grade multi-agent system designed for Ethiopian smallholder farmers, focusing on climate resilience and privacy-preserving federated learning simulation.
## Overview
This project implements a multi-agent system designed to provide climate-resilient agricultural advice to Ethiopian smallholder farmers. It addresses the challenge of delivering personalized, data-driven insights while preserving the privacy of individual farm data. The system utilizes a federated learning simulation to aggregate regional insights without exposing raw user inputs.
The architecture consists of five specialized agents orchestrated by **LangGraph**:
1. **Local Data Analyzer**: Securely processes user inputs locally.
2. **Federated Collaborator**: Aggregates insights using Differential Privacy.
3. **Crop/Weather Planner**: Generates climate-resilient recommendations.
4. **Privacy Auditor**: Monitors data flows for leaks.
5. **Synthesizer**: Compiles multilingual reports (English, Amharic, Afaan Oromoo).
## Target Audience
- **Researchers**: Interested in Federated Learning and Multi-Agent Systems in Agriculture.
- **Developers**: Building privacy-preserving AI applications.
- **Agricultural Extension Workers**: Looking for tools to assist smallholder farmers.
## Prerequisites
- **Python**: Version 3.10 or higher.
- **API Keys**: OpenAI and Tavily API keys are required for agent functionality.
- **OS**: Linux, macOS, or Windows (WSL recommended).
## Installation
1. **Clone the repository**:
```bash
git clone
github.com
cd ethio-climate-agri-advisor
```
2. **Create a virtual environment**:
```bash
python3 -m venv venv
source venv/bin/activate
```
3. **Install dependencies**:
```bash
pip install -e .
# OR
pip install -r requirements/base.txt
```
## Environment Setup
Create a `.env` file in the root directory with your API keys:
```env
OPENAI_A …