A 135M-parameter model fine-tuned to read a health worker's description of a sick
child and emit structured IMCI findings, in English, Kiswahili or Hausa.
It does not decide anything clinical. In the Uzima application the
classification is produced by a deterministic, unit-tested implementation of the
WHO IMCI chart; the model handles perception and explanation. That split is the
point of the project — a 135M model is good at language and unreliable as a
source of medical truth, so it is not used as one.
Why 135M and why Q8_0
Both were chosen by measurement under the challenge's own audit conditions, which
compile llama.cpp with every SIMD path disabled:
precision
tok/s (scalar)
referral sensitivity
severity exact
Q4_K_M
10.57
94.1%
52.5%
Q8_0
25.79
100.0%
70.0%
Q8_0 is 2.4x faster and more accurate here, which inverts the usual reflex: with
no vector units, k-quant dequantisation is expensive compute while Q8_0 needs
almost none. Details in the repo's REPORT.md §5.4.
Usage
bash
1llama-cli -m uzima-imci-Q8_0.gguf -p "A 9-month-old boy has cough for 3 days. \
2I counted 56 breaths in one minute and the lower chest wall goes in when he \
3breathes in. Classify using IMCI."
The model answers by first writing a FINDINGS: line, then a CHECK: line for
any numeric threshold, then the classification — so its reasoning is auditable.
Safety
Not clinically validated. Not for patient care. The guideline corpus is
marked needs_clinical_review and the Kiswahili/Hausa clinical strings carry a
NEEDS_REVIEW status in the source until a clinician who speaks the language
signs them off. Thresholds are the WHO generic chart; IMCI is nationally adapted
and the deployment must load its own.