# 🌍 Multilingual African Health Assistant
**Zindi ITU Challenge — Multilingual Health Question Answering in Low-Resource African Languages**
A production-grade multilingual health QA system serving sub-Saharan communities in **Akan (Twi) · Amharic · Luganda · Swahili · English**.
---
## Overview
This system accepts a health question in any of the five supported African languages and generates a medically accurate, culturally appropriate answer **in the same language**. It is designed for deployment in low-bandwidth, resource-constrained environments (mobile, SMS, offline-capable).
### Supported Languages
| Tag | Language | Region |
|---|---|---|
| `Aka_Gha` | Akan (Twi) | Ghana |
| `Amh_Eth` | Amharic | Ethiopia |
| `Lug_Uga` | Luganda | Uganda |
| `Swa_Eas` | Swahili | East Africa |
| `Eng` | English | (pivot / baseline) |
### Domain
All content covers **Maternal, Sexual & Reproductive Health (MSRH)** — prenatal care, family planning, GBV support, postnatal care, and adolescent health.
---
## Repository Structure
```
african-health-assistant/
├── data/
│ ├── raw/ # Train.csv, Val.csv, Test.csv (not tracked)
│ ├── cleaned/ # train_clean.csv, val_clean.csv
│ ├── augmented/ # final_train.csv
│ └── external/ # external_sources_register.csv
├── notebooks/
│ └── 01_eda.py # Phase 1.1 EDA (run as notebook or script)
├── src/
│ ├── data/
│ │ ├── clean.py # Phase 1.2 — data cleaning
│ │ ├── augment.py # Phase 2 — augmentation pipeline
│ │ └── quality_gate.py # Phase 2.3 — quality gate filters
│ ├── training/
│ │ ├── train.py # Phase 3 — fine-tuning
│ │ ├── config.yaml # All hyperparameters & paths
│ │ └── train.sh # One-command pipeline runner
│ ├── evaluation/
│ │ ├── metrics.py # Phase 4 — ROUGE + LLM Judge + submission
│ │ └── decode_search.py # Phase 4.3 — decoding h …