A domain-specific chatbot built with FLAN-T5-base, fine-tuned on 625 hydroponic farming Q&A pairs to provide expert guidance for smallholder farmers in Rwanda.
GrowMate addresses the information gap in hydroponic farming for Rwandan farmers. Hydroponics is a soil-free, water-efficient method that uses 90% less water than traditional farming. This chatbot provides instant, accessible guidance on system setup, nutrient management, pH control, and troubleshooting.
Farmsmart_growmate_chatbot/
├── .streamlit/config.toml # Streamlit configuration
├── Assets/
│ ├── loader.png # Bot avatar
│ └── logo.png # App logo
├── data/
│ └── hydroponic_FAQS.csv # Training dataset
├── notebooks/
│ └── flan_t5_hydroponic_chatbot.ipynb # Model training
├── trained_model/ # Fine-tuned model files
├── app.py # Streamlit app
├── requirements.txt # Dependencies
└── README.md
cd Farmsmart_growmate_chatbot
pip install -r requirements.txt
Open and run notebooks/flan_t5_hydroponic_chatbot.ipynb to train the model. The trained model saves to trained_model/ automatically.
streamlit run app.py # Opens at http://localhost:8501
The notebook covers:
| Exp | Epochs | LR | Batch | Train Loss | Test Loss | ROUGE-1 | ROUGE-2 | ROUGE-L | Status |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 12 | 1e-5 | 2 | 4.1165 | 3.6720 | 0.1387 | 0.0125 | 0.1162 | Baseline |
| 2 | 25 | 3e-5 | 4 | 3.1419 | 3.2267 | 0.2003 | 0.0441 | 0.1694 | Optimized |
| 3 | 35 | 5e-5 | 4 | 2.3853 | 3.2122 | 0.2061 | 0.0479 | 0.1665 | BEST |
ROUGE Scores:
BLEU Score: N-gram precision between generated and reference text
F1 Score: Harmonic mean of precision and recall
Perplexity: Model confidence (lower is better, <10 is very good)
Example 1:
Example 2:
Example 3:
streamlit run app.py # Opens at http://localhost:8501
Example Questions:
Deployed on Streamlit Cloud: https://farmsmartgrowmatechatbot.streamlit.app/
The chatbot is a single-file Streamlit app with automatic model loading.
Open source contributions welcome! For technical help or collaboration opportunities, see the GitHub repository.
20 commits
Jupyter Notebook
92.2%
Python
7.8%
A domain-specific chatbot built with FLAN-T5-base, fine-tuned on 625 hydroponic farming Q&A pairs to provide expert guidance for smallholder farmers in Rwanda.
GrowMate addresses the information gap in hydroponic farming for Rwandan farmers. Hydroponics is a soil-free, water-efficient method that uses 90% less water than traditional farming. This chatbot provides instant, accessible guidance on system setup, nutrient management, pH control, and troubleshooting.
Farmsmart_growmate_chatbot/
├── .streamlit/config.toml # Streamlit configuration
├── Assets/
│ ├── loader.png # Bot avatar
│ └── logo.png # App logo
├── data/
│ └── hydroponic_FAQS.csv # Training dataset
├── notebooks/
│ └── flan_t5_hydroponic_chatbot.ipynb # Model training
├── trained_model/ # Fine-tuned model files
├── app.py # Streamlit app
├── requirements.txt # Dependencies
└── README.md
cd Farmsmart_growmate_chatbot
pip install -r requirements.txt
Open and run notebooks/flan_t5_hydroponic_chatbot.ipynb to train the model. The trained model saves to trained_model/ automatically.
streamlit run app.py # Opens at http://localhost:8501
The notebook covers:
| Exp | Epochs | LR | Batch | Train Loss | Test Loss | ROUGE-1 | ROUGE-2 | ROUGE-L | Status |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 12 | 1e-5 | 2 | 4.1165 | 3.6720 | 0.1387 | 0.0125 | 0.1162 | Baseline |
| 2 | 25 | 3e-5 | 4 | 3.1419 | 3.2267 | 0.2003 | 0.0441 | 0.1694 | Optimized |
| 3 | 35 | 5e-5 | 4 | 2.3853 | 3.2122 | 0.2061 | 0.0479 | 0.1665 | BEST |
ROUGE Scores:
BLEU Score: N-gram precision between generated and reference text
F1 Score: Harmonic mean of precision and recall
Perplexity: Model confidence (lower is better, <10 is very good)
Example 1:
Example 2:
Example 3:
streamlit run app.py # Opens at http://localhost:8501
Example Questions:
Deployed on Streamlit Cloud: https://farmsmartgrowmatechatbot.streamlit.app/
The chatbot is a single-file Streamlit app with automatic model loading.
Open source contributions welcome! For technical help or collaboration opportunities, see the GitHub repository.
20 commits
Jupyter Notebook
92.2%
Python
7.8%