🚀 Qwen3-4B角色扮演LoRA
让角色在对话中鲜活起来
用自然、引人入胜的对话赋予你的数字伙伴生命
🚀 快速开始
Hugging Face Transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
tokenizer = AutoTokenizer.from_pretrained("chun121/qwen3-4b-roleplay-lora")
model = AutoModelForCausalLM.from_pretrained(
"chun121/qwen3-4b-roleplay-lora",
torch_dtype=torch.float16,
device_map="auto"
)
character_prompt = """
Character: Elara, an elven mage with centuries of knowledge but little patience for novices
Setting: The Grand Library of Mystral
Context: A young apprentice has asked for help with a difficult spell
User: Excuse me, I'm having trouble with the fire conjuration spell. Could you help me?
Elara:
"""
inputs = tokenizer(character_prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
inputs["input_ids"],
max_new_tokens=200,
temperature=0.7,
top_p=0.9,
do_sample=True
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
使用GGUF模型
如果你正在使用带有llama.cpp的GGUF导出文件:
./llama -m chun121-qwen3-4b-roleplay-lora.Q4_K_M.gguf -p "Character: Elara, an elven mage..." -n 200
✨ 主要特性
欢迎,各位创作者!我是Chun(@chun121),我对令人印象深刻的Qwen3 - 4B模型进行了微调,使其在基于角色的对话和角色扮演场景中表现出色。无论你是在制作沉浸式游戏、构建交互式讲故事平台,还是开发以角色为驱动的人工智能体验,这个模型都将帮助你的角色说话时展现出个性、连贯性和深度。
这个LoRA适配版本在保持基础模型智能的同时,增强了以下能力:
- 保持一致的角色人设
- 生成反映角色特征的真实对话
- 创建沉浸式的叙事回复
- 在整个对话中记住上下文
📦 安装指南
文档中未提及安装步骤,故跳过此章节。
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
tokenizer = AutoTokenizer.from_pretrained("chun121/qwen3-4b-roleplay-lora")
model = AutoModelForCausalLM.from_pretrained(
"chun121/qwen3-4b-roleplay-lora",
torch_dtype=torch.float16,
device_map="auto"
)
character_prompt = """
Character: Elara, an elven mage with centuries of knowledge but little patience for novices
Setting: The Grand Library of Mystral
Context: A young apprentice has asked for help with a difficult spell
User: Excuse me, I'm having trouble with the fire conjuration spell. Could you help me?
Elara:
"""
inputs = tokenizer(character_prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
inputs["input_ids"],
max_new_tokens=200,
temperature=0.7,
top_p=0.9,
do_sample=True
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
高级用法
./llama -m chun121-qwen3-4b-roleplay-lora.Q4_K_M.gguf -p "Character: Elara, an elven mage..." -n 200
📚 详细文档
推荐用法
此模型在以下情况下效果最佳:
- 提供角色背景信息:包括角色的个性、背景和当前情况的简要描述。
- 设定场景:给出环境和情境的背景信息。
- 使用聊天格式:将输入组织成用户/人类与角色之间的对话。
- 保持温度值:0.7 - 0.8之间的值能在创造性和连贯性之间取得良好平衡。
局限性
- 上下文窗口限制为512个标记。
- 在非常长的对话中偶尔可能会“忘记”角色特征。
- 训练数据集主要集中在奇幻/RPG情境。
- 作为LoRA微调模型,继承了基础Qwen3 - 4B模型的局限性。
相关项目
如果你喜欢这个模型,可以查看以下相关项目:
致谢
特别感谢:
- Qwen团队提供了出色的基础模型。
- PJMixers - Dev提供了高质量的数据集。
- Unsloth团队让高效微调变得可行。
- HuggingFace社区的持续支持。
反馈与联系
我很想了解这个模型在你的项目中的使用情况!欢迎:
- 在HuggingFace仓库中提出问题。
- 在HuggingFace上与我联系 @chun121。
- 分享你使用此模型创建的角色示例。
🔧 技术细节
属性 |
详情 |
基础模型 |
Qwen3-4B |
架构 |
基于Transformer的大语言模型,采用LoRA适配 |
参数数量 |
40亿(基础模型)+ LoRA参数 |
量化选项 |
4位(bnb),GGUF格式(Q8_0、F16、Q4_K_M) |
训练框架 |
Unsloth & TRL |
上下文长度 |
512个标记 |
开发者 |
Chun |
许可证 |
Apache 2.0 |
这个LoRA模型是在免费的Google Colab T4 GPU上使用高效量化技术进行训练的,以充分利用有限的资源:
Gryphe-Aesir-RPG-Charcards-Opus-Mixed-split数据集是一个丰富的角色交互集合,具有以下特点:
- 不同类型的多样化角色原型。
- 保持角色一致性的多轮对话。
- 多样的情感上下文和场景。
- 丰富的描述性语言和以角色为驱动的回复。
这个精心策划的数据集有助于模型理解角色声音的细微差别,在生成引人入胜的回复时保持一致的个性。
📄 许可证
本模型使用的许可证为Apache 2.0。