Qwen3.5-9B 格律诗模型 (Gelv Poet)
基于 Qwen3.5-9B 微调的中国古典格律诗生成模型。严格遵循平仄格律规则,能够创作五言/七言绝句和律诗。
模型特点
- 严格遵循「二四六分明」的平仄规则
- 支持五言绝句、七言绝句、五言律诗、七言律诗
- 律诗颔联颈联对仗工整
- 偶数句押韵
训练细节
- 基座模型: Qwen/Qwen3.5-9B
- 方法: Unsloth + QLoRA (4-bit, LoRA r=64, alpha=64)
- 数据: 从chinese-poetry中筛选的24,525首严格合规格律诗,生成110,060条训练样本
- 硬件: RTX 4090 24GB
- 训练轮数: 3 epochs (10,320 steps)
- 最终 eval_loss: 0.094
评估结果(结构评分)
| 诗体 | 得分 |
|---|---|
| 五言绝句 | 0.90 |
| 七言绝句 | 1.00 |
| 五言律诗 | 0.97 |
| 七言律诗 | 1.00 |
| 整体 | 0.97 |
使用方法
Python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "wnwu/Qwen3.5-9B-gelv-poet"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_name, device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True,
)
model.eval()
SYSTEM_PROMPT = (
"你是一位精通中国古典诗词格律的诗人。你严格遵循平仄格律规则,"
"擅长创作五言律诗、七言律诗、五言绝句、七言绝句等格律诗。"
"你熟知「二四六分明」的平仄规则,懂得对仗、押韵的要求。"
)
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "请以「秋夜」为题,写一首严格符合格律的七言律诗。\n\n请直接输出诗句。"},
]
text = tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True, enable_thinking=False,
)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs, max_new_tokens=256, temperature=0.7,
top_p=0.9, top_k=50, do_sample=True, repetition_penalty=1.15,
)
new_tokens = outputs[0][inputs["input_ids"].shape[1]:]
print(tokenizer.decode(new_tokens, skip_special_tokens=True))
交互式推理
python inference.py --model wnwu/Qwen3.5-9B-gelv-poet
Ollama (GGUF)
GGUF Q8_0 量化版本可从本仓库的 gguf 分支下载。
生成示例
七言绝句「塞下曲」:
寒塞無因見落梅,胡人吹入內宮來。 君恩如水東流去,應與春風豈復迴。
五言律诗「山居」:
欲出還中止,微陰却快晴。 檻花栽盡活,籠鳥教初鳴。 身寄江湖久,心知富貴輕。 還家雖有日,遠宦尚餘生。
五言绝句「雪夜」:
酒力欺寒淺,心清睡較遲。 梅花擎雪影,和月度疏籬。
- Downloads last month
- 80