build the multilingual health assistant Africa's communities deserve
# Multilingual Health QA Training
This repository contains the training and inference workflow used for a multilingual health question-answering competition. The core idea is to turn the labelled training data into a small retrieval knowledge base, enrich each example with similar labelled examples, fine-tune a chat model on those RAG-style prompts, and then run submission inference with vLLM.
## Final Performance
This solution finished **11th place** on the Zindi leaderboard for the Multilingual Health Question Answering in Low-Resource African Languages Challenge.
The current workflow is:
```text
raw Train/Val/Test CSVs
|
v
generate RAG context datasets with BGE-M3 retrieval
|
v
fine-tune Sunbird/Sunflower with Unsloth + LoRA
|
v
save/push checkpoint
|
v
run vLLM inference with the LoRA adapter
|
v
submission CSV
```
## Why RAG-Enriched Fine-Tuning?
We moved to RAG-enriched fine-tuning because the data showed strong evidence that retrieval is highly useful for this competition.
The first clue was that a simple retrieval-only baseline did surprisingly well. Instead of generating answers with a large model, we retrieved the nearest question from the labelled data and copied its answer. Even simple TF-IDF retrieval scored well, and BGE-M3 embedding retrieval did much better on the leaderboard:
```text
BGE-M3 retrieval:
RougeL F1: 0.4823
Rouge1 F1: 0.5548
LLM Judge: 0.7379
```
That means many test questions are semantically close to questions already present in train/validation. So the labelled dataset is not just training data; it is also a useful knowledge base.
But retrieval alone is not enough. The best fine-tuned model still scored higher overall than retrieval-only, and first place was much higher. That suggests the task rewards both:
```text
retrieval strength: finding close existing answers
generation strength: adapting, rewriting, and answering novel or imperfect matches
```
So the idea behind RAG-enriched fine-tuning is to teach the model both b …