| |
|
|
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
| import torch |
|
|
| |
| |
| model_name = "facebook/nllb-200-distilled-600M" |
|
|
| |
| |
| print(f"Loading model: {model_name}") |
| tokenizer = AutoTokenizer.from_pretrained(model_name) |
| model = AutoModelForSeq2SeqLM.from_pretrained(model_name) |
| print("Model loaded successfully!") |
|
|
| |
| sinhala_sentences = [ |
| "ඩෝසන් මිස් දුරකථනයෙන් ඩෝසන් මිස් කවුද සර්", |
| "කවුද ඩෝසන් නැතුව ඉන්නේ ඔව් සර්", |
| "ඔබ එය උත්සාහ කරන්න සර්", |
| "කොහොමද වැඩේ හරිද ඔව් සර්ට ස්තුතියි", |
| "ඔව්, හරි, ස්තුතියි රත්තරං" |
| ] |
|
|
| print("\n--- Starting Translation ---") |
|
|
| |
| for sentence in sinhala_sentences: |
| |
| |
| |
| tokenizer.src_lang = "sin_Sinh" |
| |
| |
| inputs = tokenizer(sentence, return_tensors="pt") |
|
|
| |
| |
| target_lang = "eng_Latn" |
| translated_tokens = model.generate( |
| **inputs, |
| forced_bos_token_id=tokenizer.vocab[target_lang], |
| max_length=50 |
| ) |
|
|
| |
| |
| translation = tokenizer.batch_decode(translated_tokens, skip_special_tokens=True)[0] |
|
|
| |
| print(f"\nOriginal (si): {sentence}") |
| print(f"Translation (en): {translation}") |
|
|
| print("\n--- Translation Complete ---") |
|
|