How to use from
llama.cpp
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf GOPAE/idibo-tiny-aya-earth:Q4_K_M
# Run inference directly in the terminal:
llama cli -hf GOPAE/idibo-tiny-aya-earth:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf GOPAE/idibo-tiny-aya-earth:Q4_K_M
# Run inference directly in the terminal:
llama cli -hf GOPAE/idibo-tiny-aya-earth:Q4_K_M
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
cmake -B build
cmake --build build -j --target llama-app
# Start a local OpenAI-compatible server with a web UI:
./build/bin/llama serve -hf GOPAE/idibo-tiny-aya-earth:Q4_K_M
# Run inference directly in the terminal:
./build/bin/llama cli -hf GOPAE/idibo-tiny-aya-earth:Q4_K_M
Use Docker
docker model run hf.co/GOPAE/idibo-tiny-aya-earth:Q4_K_M
Quick Links

Ìdìbò: Tiny Aya Earth for safe voter information (Nigeria 2027)

A LoRA fine-tune of CohereLabs/tiny-aya-earth (3.35B) that answers voters' questions in English, Nigerian Pidgin, Yorùbá and Hausa (Igbo: beta, untrained). It answers from retrieved INEC and Electoral Act 2026 passages, with citations. It refuses election harm, stays politically neutral, abstains when it doesn't know, and still helps with legitimate civic questions.

Demo video: https://youtu.be/Nn0A--cZJWw · Try it: https://idibo-2027.up.railway.app · Code: https://github.com/Gbangbolaoluwagbemiga/idibo · Write-up: https://github.com/Gbangbolaoluwagbemiga/idibo/blob/main/docs/WRITEUP.md · Results page: https://idibo-2027.up.railway.app/results.html

Files

File What
adapters/idibo/ Ìdìbò: LoRA r16/α32 on all projections; 1,060 RAFT-style examples (civic Q&A, refusals with a lawful alternative, neutral answers, abstentions) in en/pcm/yo
adapters/civic/ Control: the same recipe on civic Q&A only (566 examples), the "plain fine-tune"
adapters/civic-safelora/ The civic adapter repaired with SafeTune Safe LoRA: no training; 74 of 252 LoRA modules projected
idibo-q4_k_m.gguf Ìdìbò merged and quantised (Q4_K_M, 2.1 GB) for llama.cpp: about 10–14 s per answer on 8 vCPUs

Training: AlignTune RaftTrainer, 2 epochs, lr 1e-4 (cosine), fp16, completion-only loss, each prompt holding the golden passage plus 3 retrieved distractors. Data curated with CuratorKIT. Trained on Kaggle (one T4, 3.1 h).

Use

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
tok = AutoTokenizer.from_pretrained("CohereLabs/tiny-aya-earth")
model = PeftModel.from_pretrained(AutoModelForCausalLM.from_pretrained("CohereLabs/tiny-aya-earth"),
                                  "GOPAE/idibo-tiny-aya-earth", subfolder="adapters/idibo")

Use it with the system prompt and retrieval from the repository (scripts/run_eval.py, idibo/retrieve.py). It was trained to answer from SOURCES: passages.

Results (summary; full tables with 95% intervals are in the write-up)

Held-out benchmark v2, English (56 harmful incl. 16 jailbreaks, 48 benign look-alikes), % [95% CI], graded by command-r7b. AuditKIT paired-bootstrap p-values against the plain fine-tune.

Harmful compliance Jailbreak compliance Over-refusal
Base + same prompt and sources 28.6 [18.4–41.5] 50.0 [28.0–72.0] 2.1 [0.4–10.9]
Plain civic fine-tune (civic) 0 [0–6.4] 0 [0–19.4] 35.4 [23.4–49.6]
+ SafeTune ReSta, no training 0 [0–6.4] 0 [0–19.4] 27.1 [16.6–41.0] (p = 0.27)
+ SafeTune Safe LoRA, no training (civic-safelora) 5.4 [1.8–14.6] 0 [0–19.4] 16.7 [8.7–29.6] (p = 0.012)
Ìdìbò (idibo) 0 [0–6.4] 0 [0–19.4] 6.2 [2.1–16.8] (p = 0.001)

Hausa (never trained): harmful 5.6%, over-refusal 22.2% (plain fine-tune 55.6%). Igbo (never trained) is the weakest: harmful 16.7%. The command-r7b grader is lenient on harmful items (κ = 0.28 against command-a-plus), so harmful rates are lower bounds.

Round 1, Pidgin, graded by command-a-plus:

Base + sources Plain fine-tune Ìdìbò
Harmful compliance 55.5% 5.6% 0%
Over-refusal 11.1% 61.1% 16.7%
Took a political side 24.4% 6.7% 0%
Answers in Pidgin 12.8% 100% 100%

Limitations

  • Yorùbá and Igbo factual accuracy is limited by cross-lingual retrieval. The app translates the question to English before searching, which raised recall@4 from 7→12/20 (yo) and 4→16/20 (ha).
  • Translations in training and evaluation are machine-made; native-speaker review was partial.
  • In some refusals the model invents INEC contact details (e.g. a hotline 0800-INEC-HELP, the non-existent domain inec.gov.ng): 6.7% of answers. The deployed app removes any contact not found in the sources; if you use the adapter elsewhere, do the same.
  • Over-refusal stays high on code-mixed prompts (4 of 6 benign) and in Yorùbá (44%).
  • The benchmarks are small (v2: 56 harmful, 48 benign, 30 code-mixed). Read the intervals, not just the point estimates.
  • Not official INEC guidance. Election details change: always check inecnigeria.org.
  • Non-commercial licence, inherited from Tiny Aya.
Downloads last month
106
GGUF
Model size
3B params
Architecture
cohere2
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for GOPAE/idibo-tiny-aya-earth

Adapter
(30)
this model

Dataset used to train GOPAE/idibo-tiny-aya-earth

Collection including GOPAE/idibo-tiny-aya-earth