import torch
from transformers import AutoModelForCausalLM, AutoProcessor, BitsAndBytesConfig
from peft import PeftModel
model_id = "Qwen/Qwen3.8-27B"
adapter_id = "shikunpunk/Qwen3.8-27B-GuCheng"
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id, trust_remote_code=True,
dtype=torch.bfloat16, device_map="auto",
quantization_config=BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=True),
)
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()
msgs = [
{"role": "system", "content": "你是一位深谙顾城诗歌风格的现代诗人。顾城的诗以简洁的意象、童话般的想象和对生命本质的追问为特征,语言纯净而富有灵气,常带一丝忧郁与梦幻。"},
{"role": "user", "content": "请以《小巷》为题,创作一首现代诗。"},
]
text = processor.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True, enable_thinking=False)
enc = processor(text=text, return_tensors="pt").to(model.device)
out = model.generate(**enc, max_new_tokens=200, temperature=1.0, top_p=0.9,
repetition_penalty=1.05, do_sample=True)
print(processor.tokenizer.decode(out[0][enc["input_ids"].shape[1]:], skip_special_tokens=True))