1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4model_name = "wnwu/Qwen3.5-9B-gelv-poet"
5tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
6model = AutoModelForCausalLM.from_pretrained(
7 model_name, device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True,
8)
9model.eval()
10
11SYSTEM_PROMPT = (
12 "你是一位精通中国古典诗词格律的诗人。你严格遵循平仄格律规则,"
13 "擅长创作五言律诗、七言律诗、五言绝句、七言绝句等格律诗。"
14 "你熟知「二四六分明」的平仄规则,懂得对仗、押韵的要求。"
15)
16
17messages = [
18 {"role": "system", "content": SYSTEM_PROMPT},
19 {"role": "user", "content": "请以「秋夜」为题,写一首严格符合格律的七言律诗。\n\n请直接输出诗句。"},
20]
21text = tokenizer.apply_chat_template(
22 messages, tokenize=False, add_generation_prompt=True, enable_thinking=False,
23)
24inputs = tokenizer(text, return_tensors="pt").to(model.device)
25
26with torch.no_grad():
27 outputs = model.generate(
28 **inputs, max_new_tokens=256, temperature=0.7,
29 top_p=0.9, top_k=50, do_sample=True, repetition_penalty=1.15,
30 )
31new_tokens = outputs[0][inputs["input_ids"].shape[1]:]
32print(tokenizer.decode(new_tokens, skip_special_tokens=True))