wanicca commited on
Commit
ee5c3c3
·
1 Parent(s): 9848182

update to 7b lora

Browse files
Files changed (1) hide show
  1. app.py +56 -42
app.py CHANGED
@@ -12,12 +12,16 @@ desc = f'''链接:<a href='https://colab.research.google.com/drive/1J1gLMMMA8G
12
 
13
  parser = argparse.ArgumentParser(prog = 'ChatGal RWKV')
14
  parser.add_argument('--share',action='store_true')
15
- parser.add_argument('--ckpt',type=str,default="rwkv-chatgal-v1-3B-ctx4096-epoch20.pth")
 
16
  args = parser.parse_args()
17
  os.environ["RWKV_JIT_ON"] = '1'
18
 
19
  from rwkv.model import RWKV
20
- model_path = hf_hub_download(repo_id="Synthia/ChatGalRWKV", filename=args.ckpt)
 
 
 
21
  if 'ON_COLAB' in os.environ and os.environ['ON_COLAB'] == '1':
22
  os.environ["RWKV_JIT_ON"] = '0'
23
  os.environ["RWKV_CUDA_ON"] = '0' # if '1' then use CUDA kernel for seq mode (much faster)
@@ -85,74 +89,84 @@ def infer(
85
  yield out_str
86
 
87
  examples = [
88
- ["""女招待:欢迎光临。您远道而来,想必一定很累了吧?
89
 
90
- 深见:不会……空气也清爽,也让我焕然一新呢
91
 
92
- 女招待:是吗。那真是太好了
93
 
94
- 我因为撰稿的需要,而造访了这间位于信州山间的温泉宿驿。""", 200, 2.0, 0.4, 0, 1.0, 0.1, 0.1],
95
- ["翡翠:欢迎回来,志贵少爷。", 200, 2.0, 0.4, 0, 1.0, 0.1, 0.1],
96
- ["""莲华:你的目的,就是这个万华镜吧?
 
 
97
 
98
- 莲华拿出了万华镜。
99
 
100
- 深见:啊……
101
 
102
- 好像被万华镜拽过去了一般,我的腿不由自主地向它迈去
103
 
104
- 深见:是这个……就是这个啊……
 
105
 
106
- 烨烨生辉的魔法玩具。
107
- 连接现实与梦之世界的、诱惑的桥梁。
108
 
109
- 深见:请让我好好看看……
110
 
111
- 我刚想把手伸过去,莲华就一下子把它收了回去。""", 200, 2.0, 0.4, 0, 1.0, 0.1, 0.1],
112
- ["""嘉祥:偶尔来一次也不错。
113
 
114
- 我坐到客厅的沙发上,拍了拍自己的大腿。
115
 
116
- 巧克力&香草:喵喵?
 
117
 
118
- 巧克力:咕噜咕噜咕噜~♪人家最喜欢让主人掏耳朵了~♪
119
 
120
- 巧克力:主人好久都没有帮我们掏耳朵了,现在人家超兴奋的喵~♪
 
121
 
122
- 香草:身为猫娘饲主,这点服务也是应该的对吧?
123
 
124
- 香草:老实说我也有点兴奋呢咕噜咕噜咕噜~♪
125
 
126
- 我摸摸各自占据住我左右两腿的两颗猫头。
127
 
128
- 嘉祥:开心归开心,拜托你们俩别一直乱动啊,很危险的。""", 200, 2.0, 0.4, 0, 1.0, 0.1, 0.1],
129
- ]
130
 
131
- iface = gr.Interface(
132
- fn=infer,
133
- description=f'''这是GalGame剧本续写模型(实验性质,不保证效果)。<b>请点击例子(在页面底部)</b>,可编辑内容。这里只看输入的最后约1200字,请写好,标点规范,无错别字,否则电脑会模仿你的错误。<b>为避免占用资源,每次生成限制长度。可将输出内容复制到输入,然后继续生成</b>。推荐提高temp改善文采,降低topp改善逻辑,提高两个penalty避免重复,具体幅度请自己实验。<br /> {desc}''',
134
- allow_flagging="never",
135
- inputs=[
136
- gr.Textbox(lines=10, label="Prompt 输入的前文", value="""嘉祥:偶尔来一次也不错。
137
 
138
- 我坐到客厅的沙发上,拍了拍自己的大腿。
139
 
140
- 巧克力&香草:喵喵?
141
 
142
- 巧克力:咕噜咕噜咕噜~♪人家最喜欢让主人掏耳朵了~♪
143
 
144
- 巧克力:主人好久都没有帮我们掏耳朵了,现在人家超兴奋的喵~♪
 
 
 
145
 
146
- 香草:身为猫娘饲主,这点服务也是应该的对吧?
147
 
148
- 香草:老实说我也有点兴奋呢咕噜咕噜咕噜~♪
 
 
 
 
 
 
 
 
 
 
149
 
150
- 我摸摸各自占据住我左右两腿的两颗猫头。
151
 
152
- 嘉祥:开心归开心,拜托你们俩别一直乱动啊,很危险的。"""), # prompt
153
  gr.Slider(10, 200, step=10, value=200, label="token_count 每次生成的长度"), # token_count
154
- gr.Slider(0.2, 2.0, step=0.1, value=2, label="temperature 默认0.7,高则变化丰富,低则保守求稳"), # temperature
155
- gr.Slider(0.0, 1.0, step=0.05, value=0.4, label="top_p 默认1.0,高则标新立异,低则循规蹈矩"), # top_p
156
  gr.Slider(0, 500, step=1, value=0, label="top_k 默认0(不过滤),0以上时高则标新立异,低则循规蹈矩"), # top_p
157
  gr.Slider(0.05, 1.0, step=0.05, value=1.0, label="typical_p 默认1.0,高则保留模型天性,低则试图贴近人类典型习惯"), # top_p
158
  gr.Slider(0.0, 1.0, step=0.1, value=0.1, label="presencePenalty 默认0.0,避免写过的类似字"), # presencePenalty
 
12
 
13
  parser = argparse.ArgumentParser(prog = 'ChatGal RWKV')
14
  parser.add_argument('--share',action='store_true')
15
+ parser.add_argument('--ckpt',type=str,default="rwkv-loramerge_0.5-0426-v2-4096-epoch11.pth")
16
+ parser.add_argument('--model_path',type=str,default=None,help="local model path")
17
  args = parser.parse_args()
18
  os.environ["RWKV_JIT_ON"] = '1'
19
 
20
  from rwkv.model import RWKV
21
+ if args.model_path:
22
+ model_path = args.model_path
23
+ else:
24
+ model_path = hf_hub_download(repo_id="Synthia/ChatGalRWKV", filename=args.ckpt)
25
  if 'ON_COLAB' in os.environ and os.environ['ON_COLAB'] == '1':
26
  os.environ["RWKV_JIT_ON"] = '0'
27
  os.environ["RWKV_CUDA_ON"] = '0' # if '1' then use CUDA kernel for seq mode (much faster)
 
89
  yield out_str
90
 
91
  examples = [
92
+ ["""女招待: 欢迎光临。您远道而来,想必一定很累了吧?
93
 
94
+ 深见: 不会……空气也清爽,也让我焕然一新呢
95
 
96
+ 女招待: 是吗。那真是太好了
97
 
98
+ {我因为撰稿的需要,而造访了这间位于信州山间的温泉宿驿。}""", 200, 1.0, 0.6, 0, 1.0, 0.1, 0.1],
99
+ ["""{我叫嘉祥,家里经营着一家点心店。
100
+ 为了追求独当一面的目标,我离开了老家,开了一家名为"La Soleil"的新糕点店。
101
+ 原本想独自一人打拼,却没想到,在搬家的箱子中发现了意想不到的人。
102
+ 她叫巧克力,是我家的猫娘,没想到她竟然用这种方式跟了过来。}
103
 
104
+ 嘉祥: 别以为这样就可以蒙混过去!你在干嘛啊,巧克力!
105
 
106
+ 巧克力: 欸嘿嘿……那个,好、好久不见了呢,主人……
107
 
108
+ 嘉祥: 昨天才在家里见过面不是吗。
109
 
110
+ 巧克力: 这个……话是这么说没错啦……啊哈哈……""", 200, 1.0, 0.6, 0, 1.0, 0.1, 0.1],
111
+ ["""莲华: 你的目的,就是这个万华镜吧?
112
 
113
+ {莲华拿出了万华镜。}
 
114
 
115
+ 深见: 啊……
116
 
117
+ {好像被万华镜拽过去了一般,我的腿不由自主地向它迈去}
 
118
 
119
+ 深见: 是这个……就是这个啊……
120
 
121
+ {烨烨生辉的魔法玩具。
122
+ 连接现实与梦之世界的、诱惑的桥梁。}
123
 
124
+ 深见: 请让我好好看看……
125
 
126
+ {我刚想把手伸过去,莲华就一下子把它收了回去。}""", 200, 1.0, 0.6, 0, 1.0, 0.1, 0.1],
127
+ ["""{我叫嘉祥,有两只可爱的猫娘,名字分别是巧克力和香草。}
128
 
129
+ 嘉祥: 偶尔来一次也不错。
130
 
131
+ {我坐到客厅的沙发上,拍了拍自己的大腿。}
132
 
133
+ 巧克力&香草: 喵喵?
134
 
135
+ 巧克力: 咕噜咕噜咕噜~♪人家最喜欢让主人掏耳朵了~♪
 
136
 
137
+ 巧克力: 主人好久都没有帮我们掏耳朵了,现在人家超兴奋的喵~♪
 
 
 
 
 
138
 
139
+ 香草: 身为猫娘饲主,这点服务也是应该的对吧?
140
 
141
+ 香草: 老实说我也有点兴奋呢咕噜咕噜咕噜~♪
142
 
143
+ {我摸摸各自占据住我左右两腿的两颗猫头。}
144
 
145
+ 嘉祥: 开心归开心,拜托你们俩别一直乱动啊,很危险的。""", 200, 1.0, 0.6, 0, 1.0, 0.1, 0.1],
146
+ ["""{我叫嘉祥,在日本开了一家名为La Soleil的糕点店,同时也是猫娘巧克力的主人。
147
+ 巧克力是非常聪明的猫娘,她去国外留学了一段时间,向Alice教授学习,拿到了计算机博士学位。
148
+ 她会各种程序语言,对世界各地的风土人情都十分了解,也掌握了很多数学、物理知识。}
149
 
150
+ 嘉祥: 很棒啊,巧克力!你真是懂不少东西呢!
151
 
152
+ 巧克力: 因为巧克力是主人的最佳拍挡兼猫娘情人呀♪为了主人,巧克力会解决各种问题!""", 200, 1.0, 0.6, 0, 1.0, 0.1, 0.1],
153
+ ]
154
+
155
+ iface = gr.Interface(
156
+ fn=infer,
157
+ description=f'''这是GalGame剧本续写模型(实验性质,不保证效果)。<b>请点击例子(在页面底部)</b>,可编辑内容。这里只看输入的最后约1200字,请写好,标点规范,无错别字,否则电脑会模仿你的错误。<b>为避免占用资源,每次生成限制长度。可将输出内容复制到输入,然后继续生成</b>。推荐提高temp改善文采,降低topp改善逻辑,提高两个penalty避免重复,具体幅度请自己实验。<br /> {desc}''',
158
+ allow_flagging="never",
159
+ inputs=[
160
+ gr.Textbox(lines=10, label="Prompt 输入的前文", value="""{我叫嘉祥,在日本开了一家名为La Soleil的糕点店,同时也是猫娘巧克力的主人。
161
+ 巧克力是非常聪明的猫娘,她去国外留学了一段时间,向Alice教授学习,拿到了计算机博士学位。
162
+ 她会各种程序语言,对世界各地的风土人情都十分了解,也掌握了很多数学、物理知识。}
163
 
164
+ 嘉祥: 很棒啊,巧克力!你真是懂不少东西呢!
165
 
166
+ 巧克力: 因为巧克力是主人的最佳拍挡兼猫娘情人呀♪为了主人,巧克力会解决各种问题!"""), # prompt
167
  gr.Slider(10, 200, step=10, value=200, label="token_count 每次生成的长度"), # token_count
168
+ gr.Slider(0.2, 2.0, step=0.1, value=1.0, label="temperature 默认0.7,高则变化丰富,低则保守求稳"), # temperature
169
+ gr.Slider(0.0, 1.0, step=0.05, value=0.5, label="top_p 默认1.0,高则标新立异,低则循规蹈矩"), # top_p
170
  gr.Slider(0, 500, step=1, value=0, label="top_k 默认0(不过滤),0以上时高则标新立异,低则循规蹈矩"), # top_p
171
  gr.Slider(0.05, 1.0, step=0.05, value=1.0, label="typical_p 默认1.0,高则保留模型天性,低则试图贴近人类典型习惯"), # top_p
172
  gr.Slider(0.0, 1.0, step=0.1, value=0.1, label="presencePenalty 默认0.0,避免写过的类似字"), # presencePenalty