import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
BASE_MODEL = "google/gemma-4-E4B"
ADAPTER_REPO = "NIVED2003/gemma-4-E4B-dora-prose-half1"
tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL)
model = AutoModelForCausalLM.from_pretrained(
BASE_MODEL,
torch_dtype=torch.bfloat16,
device_map="auto"
)
model = PeftModel.from_pretrained(model, ADAPTER_REPO)
model.eval()
sanskrit_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)
hindi_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)