Views
No views yet
transformers library.1from peft import PeftModel, PeftConfig
2from transformers import AutoModelForCausalLM, AutoTokenizer
3import torch
4
5# 1. Load Base Model
6base_model_name = "Qwen/Qwen2.5-1.5B-Instruct"
7adapter_model_name = "Afeefzeed/Qwen2.5-Singlish-Transliteration" # Replace with your actual username if different
8
9print("Loading model...")
10tokenizer = AutoTokenizer.from_pretrained(base_model_name, trust_remote_code=True)
11base_model = AutoModelForCausalLM.from_pretrained(
12 base_model_name,
13 device_map="auto",
14 torch_dtype=torch.float16,
15 trust_remote_code=True
16)
17
18# 2. Load the Fine-Tuned Adapter
19model = PeftModel.from_pretrained(base_model, adapter_model_name)
20model.eval()
21
22# 3. Define Transliteration Function
23def transliterate(text):
24 prompt = f"<|im_start|>user\nTransliterate this Singlish text to Sinhala: {text}<|im_end|>\n<|im_start|>assistant\n"
25 inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
26
27 with torch.no_grad():
28 outputs = model.generate(
29 **inputs,
30 max_new_tokens=100,
31 temperature=0.1,
32 do_sample=True
33 )
34
35 # Decode and extract only the assistant's response
36 full_output = tokenizer.decode(outputs[0], skip_special_tokens=True)
37 return full_output.split("assistant\n")[-1].strip()
38
39# 4. Test
40input_text = "mama heta gedara yanawa"
41print(f"Input: {input_text}")
42print(f"Output: {transliterate(input_text)}")