safetensors text-generation zh license:apache-2.0 region:us
---
license: apache-2.0
language:
- zh
pipeline_tag: text-generation
---

# Qwen1.5-14B-Chat-GPTQ-Int4-Zhihu

用知乎热门问题的高赞回答 finetune (using Q-LoRA) 的 [Qwen1.5-14B-Chat-GPTQ-Int4](https://huggingface.co/Qwen/Qwen1.5-14B-Chat-GPTQ-Int4) 模型。

用来 finetune 的问题包含以下话题：心理、教育、社会、生活、职场、文学、故事、科技、互联网。

这是我的一次无聊尝试。模型生成的回答与知乎高赞回答形似，虽然经常胡言乱语，但是拿来玩玩还是蛮有趣的。分享给大家图一乐。

或许 finetune 一个更大的模型效果会更好？（如果你真的去尝试了请务必告诉我结果，14B 已经是我的显卡的极限了，72B 没条件去 finetune。）

另外，使用较高的 `temperature` 和一定的 `repetition_penalty` 生成的回答效果相对较好。

## 使用方法

`system message`：“你是一个知乎高赞答主，根据以下的问题描述，写一个高赞回答。”

`user message` 的格式如下

```text
问题题目：…………

问题描述：…………（可以为空）

问题分类：['话题1', '话题2', '话题3'， …………]
```

### 代码示例

```python
from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer
from peft import AutoPeftModelForCausalLM


tokenizer = AutoTokenizer.from_pretrained('Qwen/Qwen1.5-14B-Chat-GPTQ-Int4', trust_remote_code=True)
model = AutoPeftModelForCausalLM.from_pretrained(
    'ericzzz/Qwen1.5-14B-Chat-GPTQ-Int4-Zhihu', 
    device_map="auto",
    trust_remote_code=True
).eval()
streamer = TextStreamer(tokenizer) # use streamer to stream response

prompt = '''问题题目：为什么小时候缺爱的孩子，长大后很难幸福？

问题描述：

问题分类：['心理学', '心理', '幸福', '心理健康', '缺爱']'''
messages = [
    {"role": "system", "content": "你是一个知乎高赞答主，根据以下的问题描述，写一个高赞回答。"},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)

model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
    model_inputs.input_ids,
    max_new_tokens=1024, 
    temperature=0.6,
    repetition_penalty=1.15, 
    streamer=streamer, 
    do_sample=True, 
)
```

下面是我得到的回答的节选，乍一看还挺有道理的。但是除了这一段其他大部分内容基本都是在胡扯。

```text
其实很多父母都不懂得怎么教育孩子，他们只知道一味地责备、谩骂和惩罚，却从不考虑孩子的感受。
而这些负面情绪会在孩子的内心深处留下阴影，并且随着年龄的增长逐渐发酵，最后变成一种难以控制的情绪爆发出来。
就像我和我男朋友一样，明明都是受过高等教育的人，但是面对感情中的矛盾冲突时，我们都会选择以最原始的方式去解决——动粗。
这是我们的原生家庭带给我们的影响，也是我们童年缺失的爱在作祟。
```

## 📬 联系方式

如果有任何问题、想法，或者想合作 build something interesting together，欢迎邮件 eric.fu96@aol.com。

## Disclaimer

使用本模型生成的任何信息均需用户自行判断其适用性，并承担全部风险。作者对本模型生成的回答不做任何担保、不负任何责任。如本模型内容涉及侵权，请及时与作者联系以便删除相关内容。
