Views
No views yet
facebook/nllb-200-distilled-600Meng_Latn → Hindi hin_Deva)1import torch
2from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
3from peft import PeftModel
4
5# 1. Load Base Model
6base_model_id = "facebook/nllb-200-distilled-600M"
7tokenizer = AutoTokenizer.from_pretrained(base_model_id)
8base_model = AutoModelForSeq2SeqLM.from_pretrained(base_model_id)
9
10# 2. Load the Fine-Tuned Adapter
11# Replace 'your-username/legalistranslate' with your actual Hub path or local folder
12adapter_model_id = "your-username/legalistranslate"
13model = PeftModel.from_pretrained(base_model, adapter_model_id)
14model.to("cuda" if torch.cuda.is_available() else "cpu")
15
16# 3. Translation Function
17def translate_legal(text):
18 tokenizer.src_lang = "eng_Latn"
19 inputs = tokenizer(text, return_tensors="pt").to(model.device)
20
21 # Force output to Hindi
22 forced_bos_token_id = tokenizer.convert_tokens_to_ids("hin_Deva")
23
24 with torch.no_grad():
25 outputs = model.generate(
26 **inputs,
27 forced_bos_token_id=forced_bos_token_id,
28 max_length=128
29 )
30 return tokenizer.decode(outputs[0], skip_special_tokens=True)
31
32# 4. Test
33text = "The accused was acquitted due to lack of evidence."
34print(translate_legal(text))
35# Output: "अभियुक्त को सबूतों की कमी के कारण बरी कर दिया गया।"