Model Catalogue

Open Models for
Africa's Languages

Fine-tuned on 27,498 Hausa and Yoruba conversational pairs. Available in full precision and Q4_K_M GGUF for local deployment.

chat_bubble
Hausa & Yoruba

OribAI-14B

Instruction-tuned. Culturally grounded. Open source.

OribAI-14B is fine-tuned from Qwen2.5-14B-Instruct on 27,498 curated Hausa and Yoruba conversational pairs, lexical tasks, and human-annotated instruction data. Designed for dialogue, factual Q&A, and cross-lingual tasks in West African linguistic contexts.

Yoruba Generation (AYA Eval, PPL ↓)94%
Hausa Factual Accuracy67%
Instruction Compliance89%
oribai-14b-hausa-yoruba-v1
  • Base ModelQwen2.5-14B-Instruct
  • FrameworkUnsloth + TRL SFTTrainer
  • LoRA Rank / Alpha32 / 64
  • Training Pairs27,498
  • LanguagesHausa, Yoruba
  • LicenseApache 2.0
memory
Edge Deployment

OribAI-14B GGUF

4-bit quantized. Run locally. Zero cloud dependency.

The Q4_K_M quantized GGUF export of OribAI-14B. Compatible with llama.cpp and Ollama for local inference on consumer hardware. Ideal for offline deployment in low-bandwidth environments.

Quality vs Full Precision94%
Memory Efficiency88%
CPU Inference Viability76%
oribai-14b-q4_k_m.gguf
  • Quantization4-bit NF4 (Q4_K_M)
  • Runtimellama.cpp, Ollama
  • Est. Memory~10 GB RAM
  • GPU RequiredNo (CPU inference)
  • Base ModelOribAI-14B
  • LicenseApache 2.0

Up and Running in Minutes

Load OribAI-14B with three lines of Python using the Transformers library.

quickstart.py
1#e9c176">from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model_id = #ffddb6">"Alkamal01/oribai-14b-hausa-yoruba-v1"
4tokenizer = AutoTokenizer.from_pretrained(model_id)
5model = AutoModelForCausalLM.from_pretrained(model_id, device_map=#ffddb6">"auto")
6
7messages = [
8 {#ffddb6">"role": "system", "content": "You are OribAI, a helpful Hausa and Yoruba assistant."},
9 {#ffddb6">"role": "user", "content": "Menene babban birnin Nijeriya?"}
10]
11input_ids = tokenizer.apply_chat_template(messages, return_tensors=#ffddb6">"pt").to(model.device)
12output = model.generate(input_ids, max_new_tokens=256)
13#e9c176">print(tokenizer.decode(output[0], skip_special_tokens=True)) # >>> Abuja