Afri-Aya Vision 8B Krio

Afri-Aya Vision 8B Krio is a LoRA-finetuned variant of Aya Vision 8B that adds support for the African language Krio to the model, using culturally relevant images from the Afri-Aya dataset. It keeps the base model’s general capabilities while improving image-grounded Q&A with culturally relevant features in the krio language.

How to Use

1) Quick Start

Inference with transformers

from transformers import AutoProcessor, AutoModelForImageTextToText
from PIL import Image
import torch

model_id = "Jaward/afri-aya-vision-krio-8b"

# Load processor and model
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForImageTextToText.from_pretrained(
    model_id,
    device_map="auto",
    torch_dtype=torch.float16,
    trust_remote_code=True,
)

# Input message
image_path = "https://pbs.twimg.com/media/Fx7YvfQWYAIp6rZ?format=jpg&name=medium"
messages = [
    # {"role": "system", "content": [{"type": "text", "text": f"Reply strictly in Krio."}]}, # not needed but can use to boost response in your language
    {
        "role": "user",
        "content": [
            {"type": "image", "url": image_path},
            {"type": "text", "text": "Wetin dis pikchɔ de sho?"}, # Krio "What does this picture show?"
        ],
    }
]

# Apply Aya Vision chat template
inputs = processor.apply_chat_template(
    messages, padding=True, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt",
).to(model.device)

# Generate answer
gen_tokens = model.generate(
    **inputs,
    max_new_tokens=64,
    do_sample=True,
    temperature=0.3,
)

image = Image.open(image_path).convert("RGB")
image.show()

# Decode and print response
response = processor.tokenizer.decode(
    gen_tokens[0][inputs.input_ids.shape[1]:],
    skip_special_tokens=True
)
print(response)

Faster inference with unsloth

from unsloth import FastVisionModel
from PIL import Image

# Load model
model, tokenizer = FastVisionModel.from_pretrained(
    "Jaward/afri-aya-vision-krio-8b",
    load_in_4bit=True,
)
FastVisionModel.for_inference(model)

# Your image + question (any supported language)
image = Image.open("example.jpg").convert("RGB")
messages = [
    # {"role": "system", "content": [{"type": "text", "text": f"Reply strictly in Krio"}]}, # not needed but use if to boost response in your language
    {"role":"user","content":[
        {"type":"image"},
        {"type":"text","text":"Wetin dis pikchɔ de sho?"}  # Krio: What does this picture show?
    ]}
]

prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(image, prompt, return_tensors="pt").to("cuda")

out = model.generate(**inputs, max_new_tokens=100, temperature=0.7, top_p=0.9)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
Downloads last month
7
Safetensors
Model size
9B params
Tensor type
F16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Jaward/afri-aya-vision-krio-8b

Adapter
(2)
this model