Views
No views yet
san_Deva)npi_Deva)Note: In the training script, the source and target might be reversed (npi_Deva→san_Deva). However, in the example usage code below, we demonstrate translating from Sanskrit to Nepali. Adjustsrc_langandtgt_langas needed for your specific use case.
1 pip install transformers
2 git clone https://github.com/VarunGumma/IndicTransToolkit
3 cd IndicTransToolkit
4 pip install --editable ./
5 pip install torch
6 pip install ipython jupyter
7
8 import torch
9 from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
10 from IndicTransToolkit import IndicProcessor1 ip = IndicProcessor(inference=True)
2 model_name = "karki-dennish/indictrans2-sanNpi" # or your Hugging Face repo ID
3
4 tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
5 model = AutoModelForSeq2SeqLM.from_pretrained(model_name, trust_remote_code=True)
6
7 def translate_san_to_npi(texts):
8 # 1. Preprocess
9 batch = ip.preprocess_batch(texts, src_lang="san_Deva", tgt_lang="npi_Deva")
10 encoded = tokenizer(batch, padding=True, truncation=True, return_tensors="pt")
11
12 # 2. Generate translations
13 with torch.inference_mode():
14 outputs = model.generate(**encoded, num_beams=5, max_length=256)
15
16 # 3. Decode and Postprocess
17 translations = tokenizer.batch_decode(outputs, skip_special_tokens=True)
18 translations = ip.postprocess_batch(translations, lang="npi_Deva")
19
20 return translations
21
22 # Example usage
23 sanskrit_sentences = [
24 "अहं गच्छामि।", # "I am going."
25 "किं समाचारः?" # "What news?"
26 ]
27
28 translated = translate_san_to_npi(sanskrit_sentences)
29 for s, t in zip(sanskrit_sentences, translated):
30 print(f"Sanskrit: {s} --> Nepali: {t}")1@misc{indictrans2-lora-san-npi,
2 title = {IndicTrans2 Sanskrit-Nepali LoRA Fine-tuned Model},
3 author = {Dennish Karki},
4 howpublished = {Hugging Face repository},
5 year = {2025},
6 url = {https://huggingface.co/karki-dennish/indictrans2-sanNpi}
7}