# Lalang: multilingual health-QA retrieval and reranking
This repository is the reproducible research record for a multilingual health question-answering retrieval system. It contains the training and evaluation notebooks, Modal GPU experiment scripts, local selector experiments, persisted result summaries, model-card metadata, and the decision trail from dense retrieval through reranking and source selection.
> **Repository scope.** The complete local workspace is approximately 18 GB. GitHub-ready contents are the source code, notebooks, small metadata/result JSON files, and this generated documentation. Large datasets, model weights, optimizer states, caches, and wide prediction tables remain local and are listed below because GitHub's file/storage limits make committing them directly inappropriate.
## Research snapshot
- Data split used by the main retrieval/reranking evaluations: **29,814 training rows** and **6,686 validation rows**.
- Evaluation is disaggregated over eight subsets: `Aka_Gha`, `Amh_Eth`, `Eng_Eth`, `Eng_Gha`, `Eng_Ken`, `Eng_Uga`, `Lug_Uga`, and `Swa_Ken`.
- Primary metrics are ROUGE-1 and ROUGE-L between the selected answer and the reference answer. `top1` is the first retrieved candidate, `rerank` is the learned rerank choice, and `oracle` is the best answer available inside the candidate pool.
- The strongest single practical Modal result in the persisted main track is Exp 3's top-100 cross-encoder reranker: **0.5904 ROUGE-1**, versus **0.5395** for its top-1 candidate baseline and **0.6913** candidate-pool oracle.
- The strongest local source-selection result recorded here is the extended ensemble at **0.6277 ROUGE-1**; its deployable-only Extra Trees selector is **0.6302 ROUGE-1** with a **0.6595** deployable oracle.
## Main results
| Experiment | Source summary | Top-1 R1 | Rerank R1 | Oracle R1 | Delta shown |
|---|---|---:|---:|---:|---:|
| Exp 2 — BGE-M3 cross-encoder, top-50 | `modal_outputs/exp2_crossencoder_rerank/summary.json …