from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfigfrom peft import PeftModelimport torch base = "Qwen/Qwen2.5-7B-Instruct"tok = AutoTokenizer.from_pretrained(base, trust_remote_code=True)bnb = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.float16)model = AutoModelForCausalLM.from_pretrained( base, quantization_config=bnb, device_map="auto", trust_remote_code=True)model = PeftModel.from_pretrained(model, "agk4444/sat-tutor-qwen2.5-7b")model.eval() msgs = [{"role": "user", "content": "SAT Math practice question:\n\nIf 3x + 5 = 20, what is x?\nA) 3 B) 5 C) 7 D) 15"}]prompt = tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True)inp = tok(prompt, return_tensors="pt").to(model.device)out = model.generate(inp["input_ids"], attention_mask=inp.get("attention_mask"), max_new_tokens=400, do_sample=False, pad_token_id=tok.eos_token_id)print(tok.decode(out[0][inp["input_ids"].shape[1]:], skip_special_tokens=True))