1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3
4base_model = "Qwen/Qwen3-4B-Instruct-2507"
5adapter_id = "daichira/haiku-qwen3-4b-lora-unsloth"
6
7tok = AutoTokenizer.from_pretrained(base_model, trust_remote_code=True, use_fast=True)
8base = AutoModelForCausalLM.from_pretrained(base_model, device_map="auto", trust_remote_code=True)
9model = PeftModel.from_pretrained(base, adapter_id)
10
11messages = [
12 {"role":"system","content":"あなたは一流の俳人です。5-7-5を厳守し、必ず季語を含め、俳句一首のみを出力してください。"},
13 {"role":"user","content":"季語: 桜\n季節: 春\n一首だけ。"},
14]
15prompt = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
16inputs = tok(prompt, return_tensors="pt").to(model.device)
17out = model.generate(**inputs, max_new_tokens=64, do_sample=True, top_p=0.9, temperature=0.7)
18print(tok.decode(out[0], skip_special_tokens=True))