MCF-MDS Africa day 2026 project. This project develops a web-based chatbot that allows farmers to upload images of pest/disease riddled crops, and the chatbot classifies the issue and provides suggestions for treatment
---
title: Disease Detection
emoji: 🌱
colorFrom: green
colorTo: yellow
sdk: streamlit
sdk_version: 1.40.0
app_file: app.py
pinned: false
---
# Disease Detection
MCF-MDS Africa day 2026 project. This project develops a web-based chatbot that allows farmers to upload images of pest/disease riddled crops, and the chatbot classifies the issue and provides suggestions for treatment
We will use a pretrained model like EfficientNet, MobileNet, and Vision Transformers (ViT) to enhance accuracy \# Disease Detection Chatbot
MCF-MDS Africa Day 2026 project: a web-based crop disease assistant for farmers.
Farmers upload a crop leaf image, the app predicts the likely crop disease using a fine-tuned computer vision classifier, then an LLM-powered assistant helps explain the result and suggests practical treatment and prevention steps.
> Important: this app is an educational decision-support tool, not a replacement for a trained agronomist or local extension officer.
## Core idea
1. Train an image classifier on the PlantVillage dataset.
2. Save the trained model and class labels.
3. Serve predictions through a FastAPI backend.
4. Use an LLM provider abstraction so we can start with a free/local Hugging Face model and later swap in OpenAI, Anthropic, Gemini, or another provider.
5. Build a simple Streamlit frontend where a farmer can upload an image and ask follow-up questions.
## Target stack
- Python 3.10+
- PyTorch + torchvision for the crop disease classifier
- FastAPI for the backend API
- Streamlit for the web UI
- Hugging Face Transformers for a free/local LLM fallback
- Optional future LLM providers: OpenAI, Anthropic, Gemini, Hugging Face Inference Providers
## Proposed repository structure
``` text
disease-detection/
├── app/
│ ├── api/
│ │ └── main.py
│ ├── core/
│ │ ├── config.py
│ │ ├── disease_knowledge.py
│ │ ├── image_model.py
│ │ └── llm.py
│ └── streamlit_app.py
├── data/
│ ├── raw/
│ └── processed/
├── mo …