import torchfrom transformers import AutoProcessor, AutoModelForImageTextToText, BitsAndBytesConfigfrom peft import PeftModel BASE = "Qwen/Qwen3.8-27B"ADAPTER = "fcpig/Lure" # 本仓库,或本地路径 ./train_0903 # 与训练时一致:4-bit 量化加载,降低显存占用(约 20GB 级显卡可运行)bnb = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, bnb_4bit_use_double_quant=True,) model = AutoModelForImageTextToText.from_pretrained( BASE, quantization_config=bnb, device_map="auto", trust_remote_code=True,)model = PeftModel.from_pretrained(model, ADAPTER)processor = AutoProcessor.from_pretrained(ADAPTER) # 仓库内含 processor/tokenizer messages = [{ "role": "user", "content": [ {"type": "image", "image": "file://你的图片路径.jpg"}, {"type": "text", "text": "描述这张图片。"}, ],}]text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)inputs = processor(text=[text], images=["你的图片路径.jpg"], return_tensors="pt").to(model.device)out = model.generate(**inputs, max_new_tokens=512)print(processor.batch_decode(out, skip_special_tokens=True)[0])