import torchfrom transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfigfrom peft import PeftModel BASE_MODEL = "Qwen/Qwen2.5-0.5B-Instruct"ADAPTER_REPO = "Carlo88/qwen05b-sentiment-lora-imdb" tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL) bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.float16, bnb_4bit_use_double_quant=True,) base_model = AutoModelForCausalLM.from_pretrained( BASE_MODEL, quantization_config=bnb_config, device_map="auto", dtype=torch.float16,) model = PeftModel.from_pretrained(base_model, ADAPTER_REPO)model.eval() review = "This movie was a complete waste of time, the plot made no sense."messages = [ {"role": "system", "content": "Sei un classificatore di sentiment. Rispondi solo con 'positive' o 'negative'."}, {"role": "user", "content": review},]prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)inputs = tokenizer(prompt, return_tensors="pt").to(model.device) output = model.generate(**inputs, max_new_tokens=5, do_sample=False)response = tokenizer.decode(output[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)print(response) # -> "negative"