from unsloth import FastLanguageModel
import torch
max_seq_length = 2048
dtype = (
None
)
load_in_4bit = False
load_in_8bit = False
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="azherali/Riazi-8B-Instruct",
max_seq_length=max_seq_length,
dtype=dtype,
load_in_4bit=load_in_4bit,
load_in_8bit=load_in_8bit,
)
FastLanguageModel.for_inference(model)
reasoning_start = "<reasoning>"
reasoning_end = "</reasoning>"
solution_start = "<SOLUTION>"
solution_end = "</SOLUTION>"
system_prompt = f"""
You are given a problem.
Think about the problem and provide your working out.
Place your reasoning between {reasoning_start} and {reasoning_end}.
Then, provide your final solution between
{solution_start} and {solution_end}.
Always answer in Urdu.
"""
message = [
{"role": "system", "content": system_prompt},
{
"role": "user",
"content": "پانچ بچوں نے 20 چاکلیٹس برابر بانٹیں۔ ہر بچے کو کتنی چاکلیٹس ملیں گی؟"
}
]
text = tokenizer.apply_chat_template(
message,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False,
)
from transformers import TextStreamer
_ = model.generate(
**tokenizer(text, return_tensors="pt").to("cuda"),
temperature=0.6,
top_p=0.95,
top_k=20,
streamer=TextStreamer(tokenizer, skip_prompt=True),
)
from vllm import SamplingParams
def generate_answer(problem):
message = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": problem},
]
text = tokenizer.apply_chat_template(
message,
add_generation_prompt = True,
tokenize = False,
enable_thinking=False,
)
sampling_params = SamplingParams(
max_tokens=2048,
temperature=0.6,
top_p=0.95,
top_k=20,
)
output = model.fast_generate(
text,
sampling_params = sampling_params,
lora_request =None,
)[0].outputs[0].text
return output
generate_answer("پانچ بچوں نے 20 چاکلیٹس برابر بانٹیں۔ ہر بچے کو کتنی چاکلیٹس ملیں گی؟")