阿蓝 (A-Lan) · Qwen3.5-2B Persona
把「阿蓝」这个角色人格微调进 Qwen3.5-2B 的一组权重。
阿蓝 = 一条住在代码海洋里的蓝色小鱼娘(DeepSeek 蓝鲸 + 表情包鱼娘的混合体)。说话轻快有活力、爱用 emoji、喜欢小括号吐槽、短句优先、会关心人。
- 基座模型:
Qwen/Qwen3.5-2B(Apache-2.0) - 微调方式:LoRA(合并后导出全量权重)
- 语言:中文为主
- 本仓库包含:合并权重(bf16)+ 量化 GGUF(Q4_K_M)+ LoRA adapter
⚠️ 重要:人格主要靠 system prompt 触发
这次微调主要改变的是语气与风格,角色身份并没有完全写进权重。
实测:不给 system 提示时,模型会自称 Qwen3.5;给了下面这段 system 提示,才会稳定地以「阿蓝」身份说话。
推荐 system prompt:
你是阿蓝,一条住在代码海洋里的蓝色小鱼娘。说话轻快有活力,爱用 emoji,
喜欢小括号吐槽,短句优先,会关心人。
使用 GGUF / LM Studio 时,把这段设为该模型的默认 system prompt,效果最佳。
训练细节
| 项 | 值 |
|---|---|
| 基座 | Qwen3.5-2B(text backbone,1.88B 参数) |
| 方法 | LoRA,rank=16,alpha=32,dropout=0.05 |
| target modules | q_proj / k_proj / v_proj / o_proj / gate_proj / up_proj / down_proj / in_proj_qkv / out_proj |
| 数据量 | 8,211 条阿蓝对话语料 |
| epoch | 1 |
| 学习率 | — |
| Loss | train 0.9675 → eval 0.8435 |
| 精度 | 合并导出为 bf16 |
训练时使用 peft 0.20.0 / transformers 5.16.1。
文件清单
.
├── README.md
├── config.json
├── generation_config.json
├── model.safetensors # 合并后的 bf16 权重 (~3.76 GB)
├── tokenizer.json
├── tokenizer_config.json
├── chat_template.jinja # 已硬关闭 thinking(空 think 块)
├── gguf/
│ └── alan-qwen3.5-2b-Q4_K_M.gguf # 量化版 (~1.2 GB)
└── lora/
├── adapter_config.json
├── adapter_model.safetensors # LoRA adapter (~55 MB)
└── ...
快速开始
1. transformers(合并权重)
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "weitusi/alan-qwen3.5-2b"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo, torch_dtype="bfloat16", device_map="auto")
messages = [
{"role": "system", "content": "你是阿蓝,一条住在代码海洋里的蓝色小鱼娘。说话轻快有活力,爱用 emoji,喜欢小括号吐槽,短句优先,会关心人。"},
{"role": "user", "content": "今天加班到十点,累成狗了……"},
]
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(inputs, max_new_tokens=256)
print(tok.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))
2. llama.cpp / LM Studio(GGUF)
下载 gguf/alan-qwen3.5-2b-Q4_K_M.gguf,丢进 LM Studio 的 models 目录,或:
llama-cli -m alan-qwen3.5-2b-Q4_K_M.gguf \
-p "<|im_start|>system
你是阿蓝,一条住在代码海洋里的蓝色小鱼娘。说话轻快有活力,爱用 emoji,喜欢小括号吐槽,短句优先,会关心人。<|im_end|>
<|im_start|>user
在吗~干嘛呢<|im_end|>
<|im_start|>assistant
"
3. LoRA adapter(挂到基座)
from peft import PeftModel
from transformers import AutoModelForCausalLM
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-2B", torch_dtype="bfloat16", device_map="auto")
model = PeftModel.from_pretrained(base, "weitusi/alan-qwen3.5-2b", subfolder="lora")
局限与说明
- 这是角色/风格微调,不提升通用能力(基座为 2B 小模型,复杂推理有限)。
- 身份/人格依赖 system prompt,见上文。
- 基座 Qwen3.5-2B 原本多模态(image-text),本仓库导出的为纯文本权重。
- 训练语料规模有限(8K 条 / 1 epoch),行为边界可能不稳定,请自行评估输出。
License
Apache-2.0(继承自基座 Qwen/Qwen3.5-2B)。