Demos

Runnable demonstrations of MbazaNLP models. Each demo includes a command-line script, a Jupyter notebook, and full install instructions.

Demo #1

English ↔ Kinyarwanda Translation

Fine-tuned NLLB-200 models for general, education, and tourism domains. Works offline once models are downloaded.

Models

General
Nllb_finetuned_general_en_kin

Everyday text and mixed-domain content.

Education
Nllb_finetuned_education_en_kin

Academic, instructional, and curriculum text.

Tourism
Nllb_finetuned_tourism_en_kin

Travel, hospitality, and cultural content.

Requirements

  • Python 3.9+
  • ~3 GB disk space per model (downloaded automatically on first run and cached)
  • GPU optional — CPU inference works but is slower

Quick Start

# 1. Clone the repository
git clone https://github.com/ronn13/aimbaza.org.git
cd aimbaza.org/demos/translation

# 2. Install dependencies
pip install -r requirements.txt

# 3. Translate
python translate.py "Hello, how are you?"

Models are downloaded from HuggingFace automatically on first use and cached in ~/.cache/huggingface/.

CLI Usage

# English → Kinyarwanda (default)
python translate.py "The student passed the exam."

# Kinyarwanda → English
python translate.py "Muraho, amakuru?" --src kin_Latn --tgt eng_Latn

# Choose a domain model
python translate.py "Book a room near the national park." --domain tourism
python translate.py "Submit your assignment before the deadline." --domain education
Flag Default Options
--src eng_Latn eng_Latn (English) · kin_Latn (Kinyarwanda)
--tgt kin_Latn eng_Latn (English) · kin_Latn (Kinyarwanda)
--domain general general · education · tourism

Jupyter Notebook

The notebook translation_demo.ipynb walks through English→Kinyarwanda, Kinyarwanda→English, domain comparison across all three models, batch translation, and an interactive translation cell.

pip install jupyter
jupyter notebook demos/translation/translation_demo.ipynb
Demo #2

Coming after the June 2026 sprint

A second demonstrator will be published following the community sprint on 14–15 June 2026. Topic will be determined by sprint participants. Join Slack to take part.

Want to add a demo? Each demo needs a CLI script, a requirements file, and a README. See the Contribute page for the PR workflow, or post in #models on Slack.