–⤢✕
Luganda-gemma-1B-it
Luganda
Translation
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import PeftModel
import torch
base_model_id = "google/gemma-3-1b-it"
adapter_id = "AmplifiedAccess/Luganda-gemma-1b-it"
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
model = AutoModelForCausalLM.from_pretrained(
base_model_id,
quantization_config=BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
),
device_map={"": 0},
)
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()
# Translate civic content English → Luganda
prompt = "Translate to Luganda:\nA community officer can help residents complete forms, check eligibility, and even process applications offline."
messages = [{"role": "user", "content": prompt}]
inputs = tokenizer.apply_chat_template(
messages, return_tensors="pt", return_dict=True, add_generation_prompt=True
).to(model.device)
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=128, do_sample=False)
prompt_len = inputs["input_ids"].shape[1]
response = tokenizer.decode(outputs[0][prompt_len:], skip_special_tokens=True).strip()
print(response)–⤢✕
Swahili-gemma-1B-it
Swahili
Translation
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "AmplifiedAccess/Swahili-gemma-1b-it"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.float16, device_map="auto")
prompt = ("<start_of_turn>user\n"
"Translate the following English sentence to Swahili.\n"
"English: The children are playing outside.\nSwahili:<end_of_turn>\n"
"<start_of_turn>model\n")
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=128, do_sample=False)
response = tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(response.strip())–⤢✕
Swahili-nllb-1.3B
Swahili
Translation
import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from peft import PeftModel
base_model_id = "facebook/nllb-200-distilled-1.3B"
adapter_id = "AmplifiedAccess/Swahili-nllb-1.3b"
tokenizer = AutoTokenizer.from_pretrained(base_model_id, src_lang="eng_Latn")
model = AutoModelForSeq2SeqLM.from_pretrained(base_model_id)
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()
text = "A community officer can help residents complete forms, check eligibility, and even process applications offline."
inputs = tokenizer(text, return_tensors="pt")
target_lang_id = tokenizer.convert_tokens_to_ids("swh_Latn")
with torch.no_grad():
outputs = model.generate(**inputs, forced_bos_token_id=target_lang_id, max_new_tokens=128)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True)[0])–⤢✕
Swahili-nllb-600M
Swahili
Translation
import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from peft import PeftModel
base_model_id = "facebook/nllb-200-distilled-600M"
adapter_id = "AmplifiedAccess/Swahili-nllb-600m"
tokenizer = AutoTokenizer.from_pretrained(base_model_id, src_lang="eng_Latn")
model = AutoModelForSeq2SeqLM.from_pretrained(base_model_id)
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()
text = "A community officer can help residents complete forms, check eligibility, and even process applications offline."
inputs = tokenizer(text, return_tensors="pt")
target_lang_id = tokenizer.convert_tokens_to_ids("swh_Latn")
with torch.no_grad():
outputs = model.generate(**inputs, forced_bos_token_id=target_lang_id, max_new_tokens=128)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True)[0])–⤢✕
Luganda-gemma-1B-it
Luganda
Translation
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import PeftModel
import torch
base_model_id = "google/gemma-3-1b-it"
adapter_id = "AmplifiedAccess/Luganda-gemma-1b-it"
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
model = AutoModelForCausalLM.from_pretrained(
base_model_id,
quantization_config=BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
),
device_map={"": 0},
)
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()
# Translate civic content English → Luganda
prompt = "Translate to Luganda:\nA community officer can help residents complete forms, check eligibility, and even process applications offline."
messages = [{"role": "user", "content": prompt}]
inputs = tokenizer.apply_chat_template(
messages, return_tensors="pt", return_dict=True, add_generation_prompt=True
).to(model.device)
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=128, do_sample=False)
prompt_len = inputs["input_ids"].shape[1]
response = tokenizer.decode(outputs[0][prompt_len:], skip_special_tokens=True).strip()
print(response)–⤢✕
Swahili-gemma-1B-it
Swahili
Translation
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "AmplifiedAccess/Swahili-gemma-1b-it"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.float16, device_map="auto")
prompt = ("<start_of_turn>user\n"
"Translate the following English sentence to Swahili.\n"
"English: The children are playing outside.\nSwahili:<end_of_turn>\n"
"<start_of_turn>model\n")
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=128, do_sample=False)
response = tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(response.strip())–⤢✕
Swahili-nllb-1.3B
Swahili
Translation
import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from peft import PeftModel
base_model_id = "facebook/nllb-200-distilled-1.3B"
adapter_id = "AmplifiedAccess/Swahili-nllb-1.3b"
tokenizer = AutoTokenizer.from_pretrained(base_model_id, src_lang="eng_Latn")
model = AutoModelForSeq2SeqLM.from_pretrained(base_model_id)
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()
text = "A community officer can help residents complete forms, check eligibility, and even process applications offline."
inputs = tokenizer(text, return_tensors="pt")
target_lang_id = tokenizer.convert_tokens_to_ids("swh_Latn")
with torch.no_grad():
outputs = model.generate(**inputs, forced_bos_token_id=target_lang_id, max_new_tokens=128)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True)[0])–⤢✕
Swahili-nllb-600M
Swahili
Translation
import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from peft import PeftModel
base_model_id = "facebook/nllb-200-distilled-600M"
adapter_id = "AmplifiedAccess/Swahili-nllb-600m"
tokenizer = AutoTokenizer.from_pretrained(base_model_id, src_lang="eng_Latn")
model = AutoModelForSeq2SeqLM.from_pretrained(base_model_id)
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()
text = "A community officer can help residents complete forms, check eligibility, and even process applications offline."
inputs = tokenizer(text, return_tensors="pt")
target_lang_id = tokenizer.convert_tokens_to_ids("swh_Latn")
with torch.no_grad():
outputs = model.generate(**inputs, forced_bos_token_id=target_lang_id, max_new_tokens=128)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True)[0])Model registryOpen models
Open models
for multilingual civic AI
Explore and build with open models for transcription, translation, civic terminology, and issue classification across underrepresented languages.
Swahili-nllb-1.3B
- Base:
- 1.37B NLLB-200
- Language:
- Swahili
- License:
- CC-BY-NC-4.0
- Direction:
- en → sw
- BLEU:
- 38.74
- Trained:
- 23.6M params
- Swahili
- Translation
- Open Model
Swahili-nllb-600M
- Base:
- 615M NLLB-200
- Language:
- Swahili
- License:
- CC-BY-NC-4.0
- Direction:
- en → sw
- BLEU:
- 35.97
- Trained:
- 8.65M params
- Swahili
- Translation
- Open Model
Swahili-gemma-1B-it
- Base:
- 1B Gemma 3
- Language:
- Swahili
- License:
- Gemma terms
- Direction:
- en → sw
- BLEU:
- 28.86
- Trained:
- 26.09M params
- Swahili
- Translation
- Open Model
Luganda-gemma-1B-it
- Base:
- 1B Gemma 3
- Language:
- Luganda
- License:
- Apache-2.0 adapter
- Direction:
- en → lg, lg → en
- BLEU:
- 13.85 (held-out)
- Trained:
- 13.05M params
- Luganda
- Translation
- Open Model
Playground
See the model in action
Choose a model, provide an input, and explore how it processes and interprets civic discourse across supported languages.
English0/500
Luganda
The translation will appear here