Configuration Parsing
Warning:
In adapter_config.json: "peft.task_type" must be a string
Qwen2.5-0.5B-Instruct 客服微调模型
这是一个基于 Qwen2.5-0.5B-Instruct 使用 LoRA 方法微调的客服对话模型。
模型详情
- 基础模型: Qwen/Qwen2.5-0.5B-Instruct
- 微调方法: LoRA (Low-Rank Adaptation)
- 参数量: 基础模型 0.5B + LoRA 适配器 ~2MB
- 语言: 中文
- 用途: 客服对话、智能问答
使用方法
安装依赖
pip install transformers peft torch
加载和使用模型
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
# 加载基础模型
base_model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen2.5-0.5B-Instruct",
torch_dtype="auto",
device_map="auto"
)
# 加载 LoRA 适配器
model = PeftModel.from_pretrained(
base_model,
"pplboy/test"
)
# 加载分词器
tokenizer = AutoTokenizer.from_pretrained("pplboy/test")
# 使用模型
prompt = "你好,我想咨询一下产品"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=100,
temperature=0.7,
top_p=0.9,
do_sample=True
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
使用 Transformers Pipeline
from transformers import pipeline
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型
config = PeftConfig.from_pretrained("pplboy/test")
base_model = AutoModelForCausalLM.from_pretrained(
config.base_model_name_or_path,
torch_dtype="auto",
device_map="auto"
)
model = PeftModel.from_pretrained(base_model, "pplboy/test")
tokenizer = AutoTokenizer.from_pretrained("pplboy/test")
# 创建 pipeline
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
device_map="auto"
)
# 生成回复
result = pipe("你好,我想咨询一下产品", max_new_tokens=100)
print(result[0]['generated_text'])
模型信息
LoRA 配置
- LoRA rank (r): 8
- LoRA alpha: 16
- LoRA dropout: 0.1
- Target modules: q_proj, v_proj
训练信息
- 训练框架: PEFT 0.16.0
- 训练方法: LoRA 微调
- 基础模型: Qwen2.5-0.5B-Instruct
使用场景
- 智能客服系统
- 自动问答
- 对话机器人
- 客户支持
限制和注意事项
- 需要基础模型: 这是一个 LoRA 适配器,使用前需要先加载基础模型
Qwen/Qwen2.5-0.5B-Instruct - 模型大小: 基础模型约 1GB,LoRA 适配器约 2MB
- 内存要求: 建议至少 4GB 内存(使用 GPU 可减少内存占用)
- 语言支持: 主要支持中文,英文能力有限
示例
# 完整示例
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
# 加载
base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct")
model = PeftModel.from_pretrained(base_model, "pplboy/test")
tokenizer = AutoTokenizer.from_pretrained("pplboy/test")
# 测试对话
conversations = [
"你好,我想咨询一下产品",
"这个产品有什么特点?",
"如何退货?",
"客服工作时间是什么时候?"
]
for prompt in conversations:
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=100, temperature=0.7)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(f"Q: {prompt}")
print(f"A: {response}\n")
引用
如果使用本模型,请引用:
@misc{pplboy-test-2024,
title={Qwen2.5-0.5B-Instruct 客服微调模型},
author={pplboy},
year={2024},
howpublished={\url{https://huggingface.co/pplboy/test}}
}
许可证
本模型基于 Qwen2.5-0.5B-Instruct,遵循 MIT 许可证。
相关链接
- Downloads last month
- 15
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support