Views
No views yet
1from transformers import GPT2Tokenizer, GPT2LMHeadModel
2import torch
3
4# Load model and tokenizer
5tokenizer = GPT2Tokenizer.from_pretrained("renanserrano/yanomami-finetuning")
6model = GPT2LMHeadModel.from_pretrained("renanserrano/yanomami-finetuning")
7
8# Configure device
9device = torch.device("cuda" if torch.cuda.is_available() else
10 "mps" if torch.backends.mps.is_available() else
11 "cpu")
12model.to(device)
13
14# Function for translation
15def translate(text, direction="english_to_yanomami"):
16 # Add appropriate prefix based on translation direction
17 if direction == "english_to_yanomami":
18 prompt = f"English: {text} => Yanomami:"
19 else:
20 prompt = f"Yanomami: {text} => English:"
21
22 # Tokenize input
23 inputs = tokenizer(prompt, return_tensors="pt")
24 inputs = {k: v.to(device) for k, v in inputs.items()}
25
26 # Generate translation
27 outputs = model.generate(
28 **inputs,
29 max_length=100,
30 num_return_sequences=1,
31 temperature=0.7,
32 top_p=0.9,
33 top_k=50,
34 num_beams=4,
35 do_sample=True,
36 pad_token_id=tokenizer.eos_token_id
37 )
38
39 # Decode translation
40 translation = tokenizer.decode(outputs[0], skip_special_tokens=True)
41
42 # Extract the actual translation part (after the prompt)
43 if "=>" in translation:
44 translation = translation.split("=>")[1].strip()
45
46 return translation
47
48# Examples
49# English to Yanomami
50print(translate("What does 'aheprariyo' mean in Yanomami?", "english_to_yanomami"))
51
52# Yanomami to English
53print(translate("ahetoimi", "yanomami_to_english"))@misc{yanomami-english-translator,
author = {Renan Serrano},
title = {Yanomami-English Translation Model},
year = {2025},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/renanserrano/yanomami-finetuning}}
}