Frontier-level decisions from a model 200× smaller.
PurpleMIST-Flash-1.0 is our frontier decision model. Give it a message, ticket, record or transcript and any number of typed questions about it, and it returns a calibrated probability for every possible answer in a single pass, in English and eight African languages.

Most of what software decides about text is a set of small, typed questions: which team owns this ticket, is the customer asking for a refund, how urgent is it. Teams usually send each one to a huge general-purpose model, pay for every token, parse whatever comes back, and get a confident answer with no sense of how sure the model really is.
PurpleMIST answers all of those questions at once, scores every option directly instead of writing text, and tells you how likely each answer is. It does this as well as a 1.6-trillion-parameter model on African-language input, on a single 24 GB GPU.

Across eight African languages it sits level with DeepSeek-V4-Pro on accuracy while landing far to the left on KL, meaning its probabilities are much closer to the reference.

On LocalLLaMA/typed-decisions, without training on its train split, it scores 0.720, ranking 2nd for KL and Brier among the zero-shot models listed.
It ties DeepSeek-V4-Pro (1.6T) at 0.720 on LocalLLaMA/typed-decisions (English, zero-shot), scores 0.668 against its 0.669 on African Typed Decisions, and leads on Pidgin, Somali, Swahili and isiZulu.
On African Typed Decisions its answers sit about 5× closer to the reference distribution than DeepSeek-V4-Pro’s (KL 0.214 vs 1.125), with calibration error (ECE) of 0.049.
Ask any number of choice, yes/no and score questions about the same state. Options are scored from their own text, so you can change them per request.
Trained on 86,134 decisions in Amharic, Hausa, Igbo, Pidgin, Somali, Swahili, Yorùbá and isiZulu, alongside English.
import os, sys
from huggingface_hub import hf_hub_download
repo = "olaverse/PurpleMIST-Flash-1.0"
sys.path.insert(0, os.path.dirname(hf_hub_download(repo, "purplemist.py")))
from purplemist import Decider
d = Decider.from_pretrained(repo, device="cuda")
state = {"channel": "whatsapp",
"message": "Ẹ jọ̀ọ́, wọ́n ti yọ owó lẹ́ẹ̀mejì lórí káàdì mi fún ọjà kan náà. Mo fẹ́ kí ẹ dá owó mi padà."}
questions = {
"team": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"billing": "payments, charges and refunds",
"delivery": "orders in transit", "technical": "app or account problems"}},
"refund": {"type": "noul", "instructions": "The customer is asking for money back."},
"urgency": {"type": "score", "instructions": "How urgent is this?",
"criteria": ["can wait", "normal queue", "today", "immediately"]},
}
d.decide(state, questions)
# {"team": {"choice": ..., "probabilities": {...}},
# "refund": {"noul": ...}, "urgency": {"score": ..., "probabilities": {...}}}English-only workload on smaller hardware? PurpleMIST-Mini-1.0 has the same interface at 1.9B.
| PurpleMIST-Flash-1.0THIS PAGE | PurpleMIST-Mini-1.0 → | |
|---|---|---|
| Parameters | 7.9B | 1.9B |
| LocalLLaMA/typed-decisions (English, zero-shot) | 0.720 | 0.601 |
| African Typed Decisions (8 languages) | 0.668 | 0.416 |
| Hardware | One 24 GB GPU | About 7.5 GB in fp32 |
| Best for | African languages and top accuracy | English at lower cost |