import torchfrom transformers import AutoTokenizer, AutoModelForCausalLMfrom peft import PeftModel BASE_MODEL = "google/gemma-4-E4B"ADAPTER_REPO = "NIVED2003/gemma-4-E4B-dora-prose-half2" # 1. Load Tokenizer & Base Modeltokenizer = AutoTokenizer.from_pretrained(BASE_MODEL)model = AutoModelForCausalLM.from_pretrained( BASE_MODEL, torch_dtype=torch.bfloat16, device_map="auto") # 2. Load DoRA Adaptermodel = PeftModel.from_pretrained(model, ADAPTER_REPO)model.eval() # 3. Sanskrit -> Hindi Translationsanskrit_text = "भारतं विश्वस्य प्राचीनतमासु संस्कृतिषु अन्यतमा वर्तते।"prompt = f"Instruction: Translate the following contemporary Sanskrit text to Hindi.\nInput: {sanskrit_text}\nOutput: " inputs = tokenizer(prompt, return_tensors="pt").to("cuda") with torch.no_grad(): outputs = model.generate( **inputs, max_new_tokens=128, temperature=0.3, top_p=0.9, do_sample=True, eos_token_id=tokenizer.eos_token_id ) translation = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)print("Hindi Translation:", translation) # 4. Hindi -> Sanskrit Translationhindi_text = "विज्ञान और तकनीक के क्षेत्र में नए शोध अत्यंत महत्वपूर्ण हैं।"prompt_reverse = f"Instruction: Translate the following contemporary Hindi text to Sanskrit.\nInput: {hindi_text}\nOutput: " inputs_rev = tokenizer(prompt_reverse, return_tensors="pt").to("cuda")with torch.no_grad(): outputs_rev = model.generate( **inputs_rev, max_new_tokens=128, temperature=0.3, top_p=0.9, do_sample=True, eos_token_id=tokenizer.eos_token_id ) translation_sa = tokenizer.decode(outputs_rev[0][inputs_rev.input_ids.shape[1]:], skip_special_tokens=True)print("Sanskrit Translation:", translation_sa)