Views
No views yet
Qwen/Qwen3-4B for Chinese emotional dialogue and robot voice interaction.mlabonne/FineTome-100kMemorialSummer/chinese-adorable-high-emotional-intelligence-chatjakeazcona/short-text-labeled-emotion-classificationQwen/Qwen3-4Bq_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj1from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
2from peft import PeftModel
3import torch
4
5base_model = "Qwen/Qwen3-4B"
6adapter = "heyunzhen/qwen3-4b-emotion-dialogue-lora"
7
8tokenizer = AutoTokenizer.from_pretrained(base_model, trust_remote_code=True)
9quant_config = BitsAndBytesConfig(
10 load_in_4bit=True,
11 bnb_4bit_quant_type="nf4",
12 bnb_4bit_use_double_quant=True,
13 bnb_4bit_compute_dtype=torch.float16,
14)
15model = AutoModelForCausalLM.from_pretrained(
16 base_model,
17 trust_remote_code=True,
18 device_map="auto",
19 quantization_config=quant_config,
20)
21model = PeftModel.from_pretrained(model, adapter)
22
23messages = [
24 {"role": "system", "content": "你是一个中文情感化对话助手。回复要真诚、温柔、会共情。"},
25 {"role": "user", "content": "我今天有点烦,感觉谁都不理解我。"},
26]
27text = tokenizer.apply_chat_template(
28 messages,
29 tokenize=False,
30 add_generation_prompt=True,
31 enable_thinking=False,
32)
33inputs = tokenizer([text], return_tensors="pt").to(model.device)
34output = model.generate(
35 **inputs,
36 max_new_tokens=256,
37 temperature=0.7,
38 top_p=0.8,
39 do_sample=True,
40)
41print(tokenizer.decode(output[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))