Instructions to use fotiecodes/Turaco-gem-mt-en-wes with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use fotiecodes/Turaco-gem-mt-en-wes with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="fotiecodes/Turaco-gem-mt-en-wes") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("fotiecodes/Turaco-gem-mt-en-wes") model = AutoModelForMultimodalLM.from_pretrained("fotiecodes/Turaco-gem-mt-en-wes", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use fotiecodes/Turaco-gem-mt-en-wes with 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 fotiecodes/Turaco-gem-mt-en-wes:BF16 # Run inference directly in the terminal: llama cli -hf fotiecodes/Turaco-gem-mt-en-wes:BF16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf fotiecodes/Turaco-gem-mt-en-wes:BF16 # Run inference directly in the terminal: llama cli -hf fotiecodes/Turaco-gem-mt-en-wes:BF16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf fotiecodes/Turaco-gem-mt-en-wes:BF16 # Run inference directly in the terminal: ./llama-cli -hf fotiecodes/Turaco-gem-mt-en-wes:BF16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf fotiecodes/Turaco-gem-mt-en-wes:BF16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf fotiecodes/Turaco-gem-mt-en-wes:BF16
Use Docker
docker model run hf.co/fotiecodes/Turaco-gem-mt-en-wes:BF16
- LM Studio
- Jan
- vLLM
How to use fotiecodes/Turaco-gem-mt-en-wes with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "fotiecodes/Turaco-gem-mt-en-wes" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "fotiecodes/Turaco-gem-mt-en-wes", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/fotiecodes/Turaco-gem-mt-en-wes:BF16
- SGLang
How to use fotiecodes/Turaco-gem-mt-en-wes with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "fotiecodes/Turaco-gem-mt-en-wes" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "fotiecodes/Turaco-gem-mt-en-wes", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "fotiecodes/Turaco-gem-mt-en-wes" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "fotiecodes/Turaco-gem-mt-en-wes", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Ollama
How to use fotiecodes/Turaco-gem-mt-en-wes with Ollama:
ollama run hf.co/fotiecodes/Turaco-gem-mt-en-wes:BF16
- Unsloth Desktop
- Docker Model Runner
How to use fotiecodes/Turaco-gem-mt-en-wes with Docker Model Runner:
docker model run hf.co/fotiecodes/Turaco-gem-mt-en-wes:BF16
- Lemonade
How to use fotiecodes/Turaco-gem-mt-en-wes with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull fotiecodes/Turaco-gem-mt-en-wes:BF16
Run and chat with the model
lemonade run user.Turaco-gem-mt-en-wes-BF16
List all available models
lemonade list
- Atomic Chat
Turaco-gem-mt-en-wes
Turaco-gem-mt-en-wes is a specialized translation model built on google/translategemma-4b-it and fine-tuned for high-quality machine translation from English to Cameroon Pidgin English (WES).
This model is part of the Turaco family, an initiative exploring modern translation-focused language models for low-resource and underrepresented African languages. By combining google/translategemma-4b-it’s multilingual capabilities with targeted fine-tuning on English–Cameroon Pidgin data, the model aims to produce translations that preserve meaning, tone, and natural expression.
Based on our internal evaluation, Turaco-gem-mt-en-wes is our best-performing Turaco model yet, representing an important step toward more capable and culturally relevant translation systems for Cameroon Pidgin.
Model details
| Field | Value |
|---|---|
| Developed by | Clevaway |
| Model family | Turaco |
| Base model | google/translategemma-4b-it |
| Base revision | 10042cb0e6e7fdce748996a71dc3dc432a4e0c89 |
| Base parameter class | TranslateGemma 4B family; about 5B including vision components |
| Fine-tuning | BF16 LoRA supervised fine-tuning |
| LoRA rank / alpha | 32 / 32 |
| Direction | English (en) → Cameroon Pidgin (wes) |
| Model context configured | 768 tokens |
| Maximum training sequence | 512 tokens |
| Vision layers | Frozen and not evaluated for Cameroon Pidgin |
| Hardware | NVIDIA A100-SXM4-40GB (39.5 GB) |
Cameroon Pidgin integration
TranslateGemma's native chat template maps language codes to human-readable language
names. This checkpoint adds wes: Cameroon Pidgin to that mapping and otherwise preserves
Google's translation prompt. The patched chat_template.jinja is included in this repo.
Training data
The model uses the already-cleaned fotiecodes/Turaco-NLLB-mt-en-wes-cleaned-dataset dataset at revision
b95e28f77b36200d7be67a49513457d9c1f1696e. It does not rerun the original cleaning pipeline.
| Split | Rows |
|---|---|
| Train | 25,158 |
| Validation | 1,335 |
| Test | 1,354 |
Split source: published.
Training configuration
- epochs: 2
- learning rate: 0.0001
- micro-batch size: 8
- gradient accumulation: 4
- effective batch size: 32
- optimizer: adamw_torch_fused
- scheduler: cosine
- response-only loss: enabled
- deterministic seed: 42
Internal evaluation
These results are a same-corpus held-out diagnostic, not an external release benchmark.
| Examples | chrF++ | SacreBLEU | TER | Source copy | Empty output | Length ratio |
|---|---|---|---|---|---|---|
| 1,354 | 43.09 | 25.54 | 71.18 | 0.00% | 2.66% | 0.977 |
Metric signatures are stored in internal_test_metrics.json. External TuracoBench v1 and
speaker-reviewed results are pending. We do not describe this checkpoint as state of the art
until those evaluations exist.
Usage
import torch
from transformers import AutoModelForImageTextToText, AutoTokenizer
model_id = "fotiecodes/Turaco-gem-mt-en-wes"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
model_id, torch_dtype=torch.bfloat16, device_map="auto"
)
messages = [{
"role": "user",
"content": [{
"type": "text",
"source_lang_code": "en",
"target_lang_code": "wes",
"text": "What are you doing today?",
}],
}]
inputs = tokenizer.apply_chat_template(
messages, tokenize=True, add_generation_prompt=True,
return_dict=True, return_tensors="pt"
).to(model.device)
with torch.inference_mode():
output = model.generate(**inputs, do_sample=False, max_new_tokens=128)
print(tokenizer.decode(output[0, inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
Use Unsloth 4-bit loading on T4 and other float16-only GPUs.
Intended use
- reviewed English-to-Cameroon-Pidgin translation drafts;
- low-resource MT research and evaluation;
- localization prototyping;
- responsible commercial applications that independently satisfy the Gemma terms, applicable law, and the dataset's terms.
This model is not intended to be the sole translator for medical, legal, emergency, immigration, financial, or other high-stakes decisions.
Limitations
- The training corpus is narrow, noisy, and domain-skewed.
- Cameroon Pidgin has valid regional, dialect, and spelling variation.
- The model may copy English, omit content, add unsupported content, or overuse familiar training-domain phrasing.
weswas not in TranslateGemma's original supported chat-template mapping.- Image translation into Cameroon Pidgin was not trained or evaluated by this project.
- Internal metrics from the same source corpus can overestimate real-world quality.
License and notices
The model weights are governed by the Gemma Terms of Use. Commercial use is permitted
subject to those terms and restrictions; this is not an unrestricted Apache or MIT model.
See NOTICE, MODIFICATIONS.md, and the accompanying Gemma agreement copy.
This repository is a modified Gemma model derivative. Use and redistribution are subject to the Gemma Terms of Use and the Gemma Prohibited Use Policy.
Project code and model weights have different licenses. Dataset terms also apply separately.
Citation
@software{turaco_translategemma_2026,
author = {fotiecodes},
title = {Turaco-gem-mt-en-wes},
year = {2026},
url = {https://huggingface.co/fotiecodes/Turaco-gem-mt-en-wes}
}
@article{gemmatranslate2026,
title = {TranslateGemma Technical Report},
author = {Google Translate Research Team and others},
year = {2026},
url = {https://arxiv.org/abs/2601.09012}
}
- Downloads last month
- 265
Model tree for fotiecodes/Turaco-gem-mt-en-wes
Base model
google/translategemma-4b-it