from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfigimport torch model_name = "enstazao/Qalb-1.0-8B-Instruct"urdu_system_prompt = "آپ ایک مددگار اور بے ضرر مصنوعی ذہانت کے اسسٹنٹ ہیں۔ آپ اردو میں سوالات کے درست جوابات دیتے ہیں۔" bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, bnb_4bit_use_double_quant=True,) print("⏳ Loading model in 4-bit...")tokenizer = AutoTokenizer.from_pretrained(model_name)model = AutoModelForCausalLM.from_pretrained( model_name, quantization_config=bnb_config, # <--- Apply 4-bit here device_map="auto" # <--- Required for quantization) terminators = [ tokenizer.eos_token_id, tokenizer.convert_tokens_to_ids("<|eot_id|>")] questions = [ "پاکستان کا قومی کھیل کیا ہے؟", "لاہور شہر کیوں مشہور ہے؟ مختصر وضاحت کریں۔", "سوال: لیاقت علی خان کون تھے؟", "سوال: اسلام آباد شہر کے بارے میں بتائیں۔", "انگریزی میں ترجمہ کریں: 'محنت کامیابی کی کنجی ہے۔'"] print("Model Loaded. Starting Generation...\n") # 5. Loop through questionsfor user_input in questions: print(f"🔹 Question: {user_input}") prompt = f"""<|begin_of_text|><|start_header_id|>system<|end_header_id|> {urdu_system_prompt}<|eot_id|><|start_header_id|>user<|end_header_id|> {user_input}<|eot_id|><|start_header_id|>assistant<|end_header_id|>""" input_ids = tokenizer([prompt], return_tensors="pt").to("cuda") outputs = model.generate( **input_ids, max_new_tokens = 256, temperature = 0.1, top_p = 0.9, repetition_penalty = 1.1, do_sample = True, eos_token_id = terminators ) response = tokenizer.decode(outputs[0][input_ids['input_ids'].shape[1]:], skip_special_tokens=True) print(f"✅ Answer: {response}") print("-" * 50)