Views
No views yet
pip install transformers peft torch1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3
4# 加载基础模型
5base_model = AutoModelForCausalLM.from_pretrained(
6 "Qwen/Qwen2.5-0.5B-Instruct",
7 torch_dtype="auto",
8 device_map="auto"
9)
10
11# 加载 LoRA 适配器
12model = PeftModel.from_pretrained(
13 base_model,
14 "pplboy/test"
15)
16
17# 加载分词器
18tokenizer = AutoTokenizer.from_pretrained("pplboy/test")
19
20# 使用模型
21prompt = "你好,我想咨询一下产品"
22inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
23
24outputs = model.generate(
25 **inputs,
26 max_new_tokens=100,
27 temperature=0.7,
28 top_p=0.9,
29 do_sample=True
30)
31
32response = tokenizer.decode(outputs[0], skip_special_tokens=True)
33print(response)1from transformers import pipeline
2from peft import PeftModel, PeftConfig
3from transformers import AutoModelForCausalLM, AutoTokenizer
4
5# 加载模型
6config = PeftConfig.from_pretrained("pplboy/test")
7base_model = AutoModelForCausalLM.from_pretrained(
8 config.base_model_name_or_path,
9 torch_dtype="auto",
10 device_map="auto"
11)
12model = PeftModel.from_pretrained(base_model, "pplboy/test")
13tokenizer = AutoTokenizer.from_pretrained("pplboy/test")
14
15# 创建 pipeline
16pipe = pipeline(
17 "text-generation",
18 model=model,
19 tokenizer=tokenizer,
20 device_map="auto"
21)
22
23# 生成回复
24result = pipe("你好,我想咨询一下产品", max_new_tokens=100)
25print(result[0]['generated_text'])Qwen/Qwen2.5-0.5B-Instruct1# 完整示例
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftModel
4
5# 加载
6base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct")
7model = PeftModel.from_pretrained(base_model, "pplboy/test")
8tokenizer = AutoTokenizer.from_pretrained("pplboy/test")
9
10# 测试对话
11conversations = [
12 "你好,我想咨询一下产品",
13 "这个产品有什么特点?",
14 "如何退货?",
15 "客服工作时间是什么时候?"
16]
17
18for prompt in conversations:
19 inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
20 outputs = model.generate(**inputs, max_new_tokens=100, temperature=0.7)
21 response = tokenizer.decode(outputs[0], skip_special_tokens=True)
22 print(f"Q: {prompt}")
23 print(f"A: {response}\n")1@misc{pplboy-test-2024,
2 title={Qwen2.5-0.5B-Instruct 客服微调模型},
3 author={pplboy},
4 year={2024},
5 howpublished={\url{https://huggingface.co/pplboy/test}}
6}