Text Generation
Transformers
Chinese
English
llama
text-generation-inference
File size: 7,567 Bytes
ab2507a
 
 
 
 
 
 
 
 
 
 
 
 
 
dbd619f
ab2507a
dbd619f
ab2507a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4a1a0d4
ab2507a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
---
language:
- zh
- en
pipeline_tag: text-generation
inference: false
datasets:
- anon8231489123/ShareGPT_Vicuna_unfiltered
- QingyiSi/Alpaca-CoT
- mhhmm/leetcode-solutions-python
---

# baichuan-vicuna-chinese-7b-gptq

[baichuan-vicuna-chinese-7b](https://huggingface.co/fireballoon/baichuan-vicuna-chinese-7b) quantized with [AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ).

使用[AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ)量化的[baichuan-vicuna-chinese-7b](https://huggingface.co/fireballoon/baichuan-vicuna-chinese-7b)。使用7G显存实现模型推理。


# Quantize config
```
{
  "bits": 4,
  "group_size": 128,
  "damp_percent": 0.01,
  "desc_act": true,
  "sym": true,
  "true_sequential": true,
  "model_name_or_path": null,
  "model_file_base_name": null
}
```

# Inference

```ipython
>>> from transformers import AutoTokenizer, TextStreamer
>>> from auto_gptq import AutoGPTQForCausalLM
>>> tokenizer = AutoTokenizer.from_pretrained("fireballoon/baichuan-vicuna-chinese-7b-gptq", use_fast=False)
>>> model = AutoGPTQForCausalLM.from_quantized("fireballoon/baichuan-vicuna-chinese-7b-gptq", device="cuda:0")
>>> streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
>>> instruction = "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: {} ASSISTANT:"
>>> prompt = instruction.format("How can I improve my time management skills?")  # user message
>>> generate_ids = model.generate(input_ids=tokenizer(prompt, return_tensors='pt').input_ids.cuda(), max_new_tokens=2048, streamer=streamer)
'''
To improve your time management skills, you should first identify your priorities and set goals for each day. Then, create a schedule that allows you to allocate time to each task. Finally, prioritize your tasks and stick to your schedule.
'''
```

# Test cases on [Ziya-Eval-Chinese](https://huggingface.co/datasets/IDEA-CCNL/Ziya-Eval-Chinese)

```
Q: 小明有200元,买书花了66元,买文具花了12元,小明剩下的钱比原来少了多少元?
A: 小明剩下的钱比原来少了66+12=78元。

Q: 请翻译这段英文:Timmy was fined a large sum of money by the judge for drunken driving·
A: Timmy因醉驾被法官处以巨额罚款。

Q: 贝多芬和柴可夫斯基在风格上有什么差异吗
A: 贝多芬和柴可夫斯基都是古典音乐作曲家,但他们的风格在某些方面存在差异。贝多芬以其严肃、庄重、深沉的音乐风格而闻名,他的音乐常常具有内省和情感深度。柴可夫斯基则以其华丽、优雅、精致的音乐风格而闻名,他的音乐常常具有戏剧性和情感深度。贝多芬的音乐通常被描述为古典主义音乐,而柴可夫斯基的音乐则常常被描述为浪漫主义音乐。总的来说,贝多芬的音乐更具内省和情感深度,而柴可夫斯基的音乐则更具华丽和精致。
```

```
Q: 写一篇高中青涩的爱情故事,男主是“我”,女主叫小美。我在高一喜欢上了小美。 开始写吧

A: 我和我的女朋友小美是在高一的时候认识的。那是一个阳光明媚的午后,我正在教室里看书,突然听到有人喊我的名字。我转过头,看到小美站在我的面前,微笑着看着我。那一刻,我感觉整个世界都停止了,所有的目光都聚集在我和小美身上。

从那天起,我就开始关注小美。我发现她喜欢看漫画,我就买了很多漫画书送给她;我发现她喜欢听音乐,我就经常带她去听音乐会。我们经常一起去图书馆,一起去操场散步,一起去吃路边摊。

随着我们的关系越来越亲密,我开始意识到自己已经深深地爱上了小美。我每天都会给她写情书,给她送花,给她惊喜。我总是想方设法地逗她开心,让她笑。

但是小美似乎并不像我一样喜欢我。她经常拒绝我的邀请,对我的感情视而不见。我以为她只是害羞,所以更加努力地对她好,更加频繁地出现在她的面前。

但是无论我怎么努力,小美似乎都无法看到我的好。我以为她只是需要时间来接受我的感情,所以更加耐心地等待着。

但是等待并没有带来预期的结果。小美最终向我提出了分手,并拒绝了我的所有请求。我感到震惊和心痛,不知道为什么会这样。

我以为我们的爱情是坚不可摧的,但是小美却说它不够好。我感到失落和受伤,整整一个星期都没有说话。

但是随着时间的推移,我开始意识到小美的拒绝并不是我的失败,而是她的失败。我已经尽我所能去爱她,去关心她,但是她可能并不适合我。

我开始把注意力放在其他事情上,比如学习、运动和社交。我开始交新朋友,参加新的活动,甚至开始了一次新的冒险。

当我再次回头看时,我发现自己已经不再像以前那样爱小美了。我已经学会了接受她的拒绝,并继续前进。

我不知道未来会发生什么,但我知道一件事:我已经准备好迎接生活,无论它给我带来什么。
```

```
Q: 从零学习编程,请给我一个三个月的学习计划

A: 当然,这里有一个三个月的编程学习计划:
1. 从学习编程的基础知识开始,比如变量和循环。您可以通过阅读在线教程和书籍来完成此操作。
2. 接下来,学习编程的基本语法。这将帮助您编写代码并让其运行。
3. 一旦您对编程的基本语法有了很好的理解,开始学习编程的基本概念,比如条件语句和方法。
4. 接下来,学习编程中使用的不同编程语言,比如Python或Java。
5. 最后,通过完成小型项目来应用所学知识。这将帮助您将所学应用到实际问题中。
6. 定期练习,并尝试不同的编程语言和技术。
7. 不要害怕寻求帮助或向他人寻求反馈。
8. 耐心地尝试,不要害怕犯错。
9. 定期复习和练习,以巩固您的知识。
10. 保持对新技术和编程语言的最新趋势。
记住,学习编程是一个过程,需要时间和练习。坚持不懈,保持好奇心,您将成为一名熟练的编程人员。
```

```
Q: 实现一个Python函数以使用动态编程查找两个输入字符串的最长公共子序列

A: 以下是查找两个输入字符串的最长公共子序列的最简Python函数:

def longest_common_subsets(str1, str2):
m, n = len(str1), len(str2)
i, j = 0, 0
while i < m and j < n:
while str1[i] == str2[j]:
i += 1
j += 1
if i < m:
j += 1
else:
break
return j - i

该函数的工作原理是将两个输入字符串的长度 `m` 和 `n` 作为其变量 `i` 和 `j` 的计算代价来初始化。然后,循环开始从 `i` 和 `j` 两个索引开始。

两个字符串在循环过程中一直被比较,直到 `str1` 字符串中的某个字符不在 `str2` 字符串中。在这种情况下,循环终止,并执行上述操作,从 `i` 更新为输入字符串中较长字符串的索引(上步运行中较短字符串的索引)。

然后,程序检查当前 `i` 索引是否大于 `m`,如果是,则进行动态编程(循环将继续进行`j`次更新,以便使用最长公共子序列。

最后,函数返回`j`-`i`,这给出了输入字符串的最长公共子序列的长度,其中长序列长度`j`减去第一个可以访问的最长公共子序列的长度索引`i`。此值始终大于两个输入字符串的长度总和。
```