How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="Janeodum/tsaro-e4b")
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, AutoModelForImageTextToText

processor = AutoProcessor.from_pretrained("Janeodum/tsaro-e4b")
model = AutoModelForImageTextToText.from_pretrained("Janeodum/tsaro-e4b")
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]:]))
Quick Links

Tsaro Gemma 4 E4B

Fine-tuned Gemma 4 E4B threat extraction model for Tsaro, a shared safety system for Northern Nigeria.

What this model does

Given an unstructured report in Hausa, Pidgin, or English, this model returns a structured threat signal โ€” threat type, location, perpetrator and vehicle counts, direction of movement, time references, and a confidence score โ€” and judges whether the message is a genuine security report at all.

Model details

  • Base model: google/gemma-4-E4B-it
  • Fine-tuning: LoRA adapter trained on Tsaro threat-report data, then merged into the base weights
  • Role in Tsaro: E4B is the primary on-device extraction model โ€” the default on any reasonably modern Android device. The Tsaro app loads the largest model the hardware can run, falling back from E4B to E2B to a hosted endpoint.

Training data

Fine-tuned on 35,512 examples spanning Hausa, Pidgin, and English: 2,500 synthetic threat reports plus 33,262 examples derived from the ACLED Nigeria conflict archive, each paired with Hausa and Pidgin translations.

Intended use and limitations

Built for community safety reporting in a specific regional context. Not a general-purpose model. Outputs are extraction assistance, not verified intelligence.

Downloads last month
34
Safetensors
Model size
8B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Janeodum/tsaro-e4b

Finetuned
(178)
this model