|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
import torch |
|
|
|
|
|
device = "cuda" if torch.cuda.is_available() else "cpu" |
|
model = AutoModelForCausalLM.from_pretrained( |
|
"universitytehran/PersianMind-v1.0", |
|
torch_dtype=torch.bfloat16, |
|
low_cpu_mem_usage=True, |
|
device_map={"": device}, |
|
) |
|
tokenizer = AutoTokenizer.from_pretrained("universitytehran/PersianMind-v1.0") |
|
|
|
|
|
TEMPLATE = "{context}\nYou: {prompt}\nPersianMind: " |
|
CONTEXT = "به انگلیسی ترجمه کن" |
|
prompt = "به انگلیسی ترجمه کن: وزیر امور خارجه ایران در نشست خبری اعلام کرد که مذاکرات هستهای به دلیل اختلافات اساسی درباره اجرای تعهدات متوقف شده است. او تأکید کرد که ایران همچنان به دنبال یک توافق عادلانه و متوازن است، اما طرفهای مقابل باید از سیاستهای دوگانه خود دست بردارند" |
|
|
|
model_input = TEMPLATE.format(context=CONTEXT, prompt=prompt) |
|
input_tokens = tokenizer(model_input, return_tensors="pt").to(device) |
|
generate_ids = model.generate(**input_tokens, max_new_tokens=512, do_sample=False, repetition_penalty=1.1) |
|
model_output = tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0] |
|
response = model_output[len(model_input):] |
|
print(response) |