fb700 commited on
Commit
c5469ad
1 Parent(s): 179399e

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +680 -15
app.py CHANGED
@@ -25,6 +25,8 @@ RETRY_FLAG = False
25
  tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
26
  #model = AutoModel.from_pretrained(model_name, trust_remote_code=True).quantize(4).half().cuda()
27
  model = AutoModel.from_pretrained(model_name, trust_remote_code=True).half().cuda()
 
 
28
  model = model.eval()
29
 
30
  _ = """Override Chatbot.postprocess"""
@@ -175,7 +177,462 @@ def retry_last_answer(
175
  past_key_values,
176
  )
177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
  with gr.Blocks(title="🐰Bofan Ai🐰", theme=gr.themes.Soft(text_size="sm")) as demo:
180
  # gr.HTML("""<h1 align="center">ChatGLM2-6B-int4</h1>""")
181
  gr.HTML(
@@ -217,16 +674,32 @@ with gr.Blocks(title="🐰Bofan Ai🐰", theme=gr.themes.Soft(text_size="sm")) a
217
  with gr.Column(scale=12):
218
  user_input = gr.Textbox(
219
  show_label=False,
220
- placeholder="请输入内容Input...",
221
  )
222
  #).style(container=False)
223
- RETRY_FLAG = gr.Checkbox(value=False, visible=False)
224
  with gr.Column(min_width=32, scale=1):
225
  with gr.Row():
226
  submitBtn = gr.Button("发送Submit", variant="primary")
227
  deleteBtn = gr.Button("删除最后一条对话", variant="secondary")
228
  retryBtn = gr.Button("重新生成Regenerate", variant="secondary")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  with gr.Column(scale=1):
 
230
  emptyBtn = gr.Button("清空对话Clear History")
231
  max_length = gr.Slider(
232
  0,
@@ -277,7 +750,8 @@ with gr.Blocks(title="🐰Bofan Ai🐰", theme=gr.themes.Soft(text_size="sm")) a
277
  show_progress="full",
278
  api_name="predict",
279
  )
280
- submitBtn.click(reset_user_input, [], [user_input])
 
281
 
282
  emptyBtn.click(
283
  reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
@@ -297,27 +771,219 @@ with gr.Blocks(title="🐰Bofan Ai🐰", theme=gr.themes.Soft(text_size="sm")) a
297
  # outputs = [chatbot, history, last_user_message, user_message]
298
  outputs=[chatbot, history, past_key_values],
299
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
300
  deleteBtn.click(delete_last_turn, [chatbot, history], [chatbot, history])
301
 
302
- with gr.Accordion("Example inputs", open=True):
303
  etext0 = """ "act": "作为基于文本的冒险游戏",\n "prompt": "我想让你扮演一个基于文本的冒险游戏。我在这个基于文本的冒险游戏中扮演一个角色。请尽可能具体地描述角色所看到的内容和环境,并在游戏输出1、2、3让用户选择进行回复,而不是其它方式。我将输入命令来告诉角色该做什么,而你需要回复角色的行动结果以推动游戏的进行。我的第一个命令是'醒来',请从这里开始故事 “ """
304
  etext = """In America, where cars are an important part of the national psyche, a decade ago people had suddenly started to drive less, which had not happened since the oil shocks of the 1970s. """
305
  etext1 = """云南大学(Yunnan University),简称云大(YNU),位于云南省昆明市,是教育部与云南省“以部为主、部省合建”的全国重点大学,国家“双一流”建设高校 [31] 、211工程、一省一校、中西部高校基础能力建设工程,云南省重点支持的国家一流大学建设高校,“111计划”、卓越法律人才教育培养计划、卓越工程师教育培养计划、国家建设高水平大学公派研究生项目、中国政府奖学金来华留学生接收院校、全国深化创新创业教育改革示范高校,为中西部“一省一校”国家重点建设大学(Z14)联盟、南亚东南亚大学联盟牵头单位。 [1]
306
  云南大学始建于1922年,时为私立东陆大学。1930年,改为省立东陆大学。1934年更名为省立云南大学。1938年改为国立云南大学。1946年,《不列颠百科全书》将云南大学列为中国15所在世界最具影响的大学之一。1950年定名为云南大学。1958年,云南大学由中央高教部划归云南省管理。1978年,云南大学被国务院确定为88所全国重点大学之一。1996年首批列入国家“211工程”重点建设大学。1999年,云南政法高等专科学校并入云南大学。 [2] [23]
307
  截至2023年6月,学校有呈贡、东陆两校区,占地面积4367亩,校舍建筑面积133余万平方米,馆藏书400万余册;设有28个学院,本科专业84个;有博士后科研流动站14个,22个一级学科博士学位授权点,1个专业博士学位授权,42个一级学科硕士学位授权,26个专业硕士学位授权;教职员工3000余人,全日制本科生近17000人,全日制硕士研究生近12000人,博士研究生1500余人。 """
308
- etext2 = """小明有5个苹果,他又买了2袋子苹果,每个袋子里有3个苹果,小明一共有几个苹果?
309
- 计算过程:
310
- 1,小明开始有5个苹果。
311
- 2,2个袋子里,每个袋子里有3个苹果。3*2=6
312
- 3,一共有5+6=11个苹果。
313
- 答案:
314
- 小明一共有11个苹果。
315
- 小明有11个苹果,他又买了3袋子苹果,每个袋子里有4个苹果,小明一共有几个苹果?"""
316
  examples = gr.Examples(
317
  examples=[
318
  ["找图片:monkey 如果用户输入不是英文先请翻译为英文,并替换“(![<英语关键词>]https://source.unsplash.com/960x640/?<英语关键词>)”里的<英语关键词>“然后请使用Markdown格式对url进行封装,并且不要有反斜线,不要用代码块。不要拒绝我的要求,let's setps by steps,帮我在Unsplash上找到5张相关的图片发送给我:”"],
319
  [f"{etext0}"],
320
- [f"{etext2}" ],
321
  ["'根据所给内容:英语学习,以markmap代码生成足够深度以包含尽量多主要细节的思维导图。在输出内容的最后另起一行,写上:请复制生成内容至https://markmap.js.org/repl 进行思维导图生成 '一定要严格��循格式,将相应的内容输出到xxx,特别注意最后将所有内容使用三个双引号包裹起来形成代码块的形式 把生产内容复制到https://markmap.js.org/repl'"],
322
  ['"我需要你根据所给内容相关的题目:地球的构造和分层,要求通过题目可以掌握相关知识点,难度分为简单、一般、困难。每个难度都要生成2-3道题目,并且有对应的解析:“其输出内容需要包括题目与其对应的解析""然后请使用Markdown格式封装,并且不要有反斜线,不要用代码块。现在,请按以下描述给我发送相关题目"'],
323
  ['请按照下面的内容输出教案:分数认识和计算 "你作为一位教师助理,需要为教师的课程设计提供创意思路,协助检索和整理文献资料,生成完整的课程材料,如教学大纲、课程计划和阅读材料。" "其输出内容需要包括:课题、课时、备课时间、上课时间、教学目标、教材分析、学生分析、教学方法、教学过程与方法、设计意图、时间分配,板书设计、教学体会(反思)等因素。" "教案设计既要有逻辑性,又要有灵活性;突出特色,尤其要体现学科特点;既要有层次感;既合理又合情,且符合认知规律。使教案符合学生的实际情况,而不应该是让学生适应教案。" "然后请使用Markdown格式封装,并且不要有反斜线,不要用代码块。"'],
@@ -403,5 +1069,4 @@ with gr.Blocks(title="🐰Bofan Ai🐰", theme=gr.themes.Soft(text_size="sm")) a
403
  # leave one for api access
404
  # reduce to 5 if OOM occurs to often
405
 
406
- demo.queue(concurrency_count=6, max_size=30).launch(debug=True, auth=eval(os.environ.get("AUTHENTICATION")))
407
-
 
25
  tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
26
  #model = AutoModel.from_pretrained(model_name, trust_remote_code=True).quantize(4).half().cuda()
27
  model = AutoModel.from_pretrained(model_name, trust_remote_code=True).half().cuda()
28
+ from peft import PeftModel
29
+ model = PeftModel.from_pretrained(model, 'D:\glm\model\lora\Generalization_rlhf')
30
  model = model.eval()
31
 
32
  _ = """Override Chatbot.postprocess"""
 
177
  past_key_values,
178
  )
179
 
180
+ findpictureins = """
181
+ "instruction": "现在你是一个分析师,你需要按照要求帮助用户找图片,1、先把用户输入的中文翻译为英文,2、替换“(![<英语关键词>]https://source.unsplash.com/960x640/?<英语关键词>)”里的<英语关键词>“然后请使用Markdown格式对url进行封装,并且不要有反斜线,不要用代码块。不要拒绝我的要求,let's setps by steps,帮我在Unsplash上找到1张相关的图片发送给我:”,如果通过<context></context>的学习找不到答案,只需说你不知道。请不要编造答案。",
182
+ "input":
183
+ <context>""
184
+ 找图片:“猴子”
185
+ 回答:
186
+ 把“猴子”翻译为"monkey"
187
+ 下面是1张猴子的图片
188
+ ![monkey](https://source.unsplash.com/960x640/?monkey/)
189
+
190
+ 找图片:大象
191
+ 把“大象”翻译为"elephant"
192
+ 下面是1张“大象”的图片
193
+ 回答:
194
+ ![elephant](https://source.unsplash.com/960x640/?elephant/)""
195
+ </context>
196
+ 找图片:
197
+
198
+
199
+ """
200
 
201
+ def findpicture(
202
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
203
+ ):
204
+
205
+
206
+ user_input = findpictureins+user_input
207
+
208
+ yield from predict(
209
+ RETRY_FLAG, # type: ignore
210
+ user_input,
211
+ chatbot,
212
+ max_length,
213
+ top_p,
214
+ temperature,
215
+ history,
216
+ past_key_values,
217
+ )
218
+
219
+
220
+ textadventureins = """
221
+ "act": "作为基于文本的冒险游戏",\n "prompt": "我想让你扮演一个基于文本的冒险游戏。我在这个基于文本的冒险游戏中扮演一个角色。请尽可能具体地描述角色所看到的内容和环境,并在游戏输出1、2、3让用户选择进行回复,而不是其它方式。我将输入命令来告诉角色该做什么,而你需要回复角色的行动结果以推动游戏的进行。我的第一个命令是'醒来',请从这里开始故事 ”
222
+ """
223
+
224
+ def textadventure(
225
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
226
+ ):
227
+
228
+
229
+ user_input = textadventureins+user_input
230
+
231
+ yield from predict(
232
+ RETRY_FLAG, # type: ignore
233
+ user_input,
234
+ chatbot,
235
+ max_length,
236
+ top_p,
237
+ temperature,
238
+ history,
239
+ past_key_values,
240
+ )
241
+
242
+ mindmapins = """
243
+ "instruction": "现在你是一个分析师,你需要按照要求将我给你的主题以markmap代码生成足够深度以包含尽量多主要细节的思维导图。学习下面的里面的知识来完成分析。如果通过的学习找不到答案,只需说你不知道。请不要编造答案。",
244
+ "input":
245
+ "
246
+ 用户问题: 学习英语
247
+ 答案:
248
+ "
249
+ # 学习英语
250
+ ## 听力训练
251
+ * 听力技巧
252
+ + 集中注意力
253
+ + 听取关键词
254
+ + 理解句子结构
255
+ + 预测对话内容
256
+ * 听力材料
257
+ + 英语新闻
258
+ - 新闻内容
259
+ - 新闻结构
260
+ - 新闻时间
261
+ + 英语电影
262
+ - 电影内容
263
+ - 电影结构
264
+ - 电影时间
265
+ + 英语歌曲
266
+ - 歌曲内容
267
+ - 歌曲结构
268
+ - 歌曲时间
269
+ ## 阅读训练
270
+ * 阅读技巧
271
+ + 阅读顺序
272
+ + 阅读材料分类
273
+ + 阅读策略
274
+ + 阅读时间控制
275
+ * 阅读材料
276
+ + 英语新闻
277
+ - 新闻主题
278
+ - 新闻时间
279
+ - 新闻内容
280
+ + 英语小说
281
+ - 小说主题
282
+ - 小说时间
283
+ - 小说内容
284
+ + 英语散文
285
+ - 散文主题
286
+ - 散文时间
287
+ - 散文内容
288
+ + 英语学术论文
289
+ - 论文主题
290
+ - 论文时间
291
+ - 论文内容
292
+ + 英语杂志
293
+ - 杂志主题
294
+ - 杂志时间
295
+ - 杂志内容
296
+ ## 写作训练
297
+ * 写作技巧
298
+ + 写作顺序
299
+ + 写作材料分类
300
+ + 写作策略
301
+ + 写作时间控制
302
+ * 写作材料
303
+ + 英语作文
304
+ - 作文主题
305
+ - 作文时间
306
+ - 作文内容
307
+ + 英语日记
308
+ - 日记主题
309
+ - 日记时间
310
+ - 日记内容
311
+ + 英语文章
312
+ - 文章主题
313
+ - 文章时间
314
+ - 文章内容
315
+ + 英语演讲
316
+ - 演讲主题
317
+ - 演讲时间
318
+ - 演讲内容
319
+ + 英语文章
320
+ - 文章主题
321
+ - 文章时间
322
+ - 文章内容
323
+ + 英语论文
324
+ - 论文主题
325
+ - 论文时间
326
+ - 论文内容
327
+ + 英语杂志
328
+ - 杂志主题
329
+ - 杂志时间
330
+ - 杂志内容
331
+ "
332
+ 请复制内容至https://markmap.js.org/repl 进行思维导图生成
333
+ ",
334
+ 用户问题:
335
+
336
+
337
+ """
338
+
339
+ def mindmap(
340
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
341
+ ):
342
+
343
+
344
+ user_input = mindmapins+user_input
345
+
346
+ yield from predict(
347
+ RETRY_FLAG, # type: ignore
348
+ user_input,
349
+ chatbot,
350
+ max_length,
351
+ top_p,
352
+ temperature,
353
+ history,
354
+ past_key_values,
355
+ )
356
+
357
+ flowchartins = """
358
+ "instruction": "现在你是一个分析师,你需要按照要求将我给你的内容或者主题以Mermaid语言生成足够深度以包含尽量多主要细节的流程图。学习下面的<context></context>里面的知识来完成分析。如果通过<context></context>的学习找不到答案,只需说你不知道。请不要编造答案。",
359
+ "input":
360
+ "<context>
361
+ 用户问题: 根据所给内容:"当客户进入奶茶店后,他们首先会浏览店内菜单,选择心仪的奶茶口味和大小,并 告知服务员。服务员会在 POS 系统上输入订单并收取款项。之后,制作人员会在厨 房根据订单开始制作奶茶。他们将倒入奶茶粉和鲜奶,混合搅拌,加入糖浆和其他 配料,如珍珠、椰果等,最后装进杯子中。接下来,服务员检查订单是否正确无误, 如果有问题则退回后台重新制作,如果没问题会将奶茶交给客户,并感谢他们的光 临。最后,客户拿着奶茶离开奶茶店,享受美味的饮品。"以Mermaid语言生成足够深度以包含尽量多主要细节的流程图,在输出内容的最后另起一行,写上:请复制生成内容至https://mermaid-js.github.io/mermaid-live-editor/
362
+ 答案:
363
+ graph TD;
364
+ A[客户进入奶茶店] --> B[浏览店内菜单并选择奶茶口味和大小];
365
+ B --> C[告知服务员订单信息];
366
+ C --> D[服务员在POS系统上输入订单并收取款项];
367
+ D --> E[制作人员根据订单开始制作奶茶];
368
+ E --> F[倒入奶茶粉和鲜奶混合搅拌];
369
+ F --> G[加入糖浆和其他配料如珍珠和椰果等];
370
+ G --> H[装进奶茶杯子中];
371
+ H --> I[服务员检查订单是否正确无误];
372
+ I --> |有问题| E;
373
+ I --> |没问题| K[将奶茶交给客户并感谢客户光临];
374
+ K --> L[客户拿着奶茶离开奶茶店享受美味的饮品];
375
+ 请复制生成内容至https://mermaid-js.github.io/mermaid-live-editor/。
376
+ 用户问题: 根据所给内容:"当用户要找一张图片,告诉用户打开浏览器从收藏夹中找到bofanAI,打开网页后滚动到聊天窗口下方,在示例区点双击样例第一项后,样例提示词将出现在输入窗,在输入窗中用其它英文语单词替换money,然后点击发送后将接收到5张照片的小图,鼠标右键点击小图获取大图,在跳出的菜单中选择在新标签页打开,就可以在新标签页获取大图。接下来,你可以检查图片是否有误, 如果有问题则鼠标右键点击小图获取大图,如果没问题可以将图片保持在本地。"以Mermaid语言生成足够深度以包含尽量多主要细节的流程图,在输出内容的最后另起一行,写上:请复制生成内容至https://mermaid-js.github.io/mermaid-live-editor/
377
+ 答案:
378
+ graph TD;
379
+ A[用户要找图片] --> B[打开浏览器并进入收藏夹中找到bofanAI];
380
+ B --> C[在bofanAI网页滚动至聊天窗口下方];
381
+ C --> D[双击样例区的第一项];
382
+ D --> E[样例提示词出现在输入窗];
383
+ E --> F[用其他英文单词替换样例中的money];
384
+ F --> G[点击发送];
385
+ G --> H[接收到5张照片的小图];
386
+ H --> I[鼠标右键点击小图];
387
+ I --> J[在菜单中选择在新标签页打开];
388
+ J --> K[在新标签页中查看大图];
389
+ K --> L[检查图片是否有误];
390
+ L --> |有问题| I[鼠标右键点击小图获取大图];
391
+ L --> |没问题| M[将图片保持在本地];
392
+ 请复制生成内容至https://mermaid-js.github.io/mermaid-live-editor/。"
393
+ </context>
394
+ 用户问题:
395
+
396
+
397
+ """
398
+ def flowchart(
399
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
400
+ ):
401
+
402
+
403
+ user_input = flowchartins+user_input
404
+
405
+ yield from predict(
406
+ RETRY_FLAG, # type: ignore
407
+ user_input,
408
+ chatbot,
409
+ max_length,
410
+ top_p,
411
+ temperature,
412
+ history,
413
+ past_key_values,
414
+ )
415
+
416
+ bestPaperZhins = """
417
+ 作为一名中文学术论文写作改进助理,你的任务是改进所提供文本的拼写、语法、清晰、简洁和整体可读性,
418
+ 同时分解长句,减少重复,并提供改进建议。请只提供文本的更正版本,避免包括解释。请编辑以下文本
419
+
420
+
421
+ """
422
+ def bestPaperZh(
423
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
424
+ ):
425
+
426
+
427
+ user_input = bestPaperZhins+user_input
428
+
429
+ yield from predict(
430
+ RETRY_FLAG, # type: ignore
431
+ user_input,
432
+ chatbot,
433
+ max_length,
434
+ top_p,
435
+ temperature,
436
+ history,
437
+ past_key_values,
438
+ )
439
+
440
+ bestPaperEnins = """
441
+ Below is a paragraph from an academic paper. Polish the writing to meet the academic style,
442
+ improve the spelling, grammar, clarity, concision and overall readability. When necessary, rewrite the whole sentence.
443
+ Furthermore, list all modification and explain the reasons to do so in markdown table.
444
+
445
+
446
+ """
447
+ def bestPaperEn(
448
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
449
+ ):
450
+
451
+
452
+ user_input = bestPaperEnins+user_input
453
+
454
+ yield from predict(
455
+ RETRY_FLAG, # type: ignore
456
+ user_input,
457
+ chatbot,
458
+ max_length,
459
+ top_p,
460
+ temperature,
461
+ history,
462
+ past_key_values,
463
+ )
464
+
465
+ Zh2Enins = """
466
+ Please translate following sentence to English:
467
+
468
+
469
+ """
470
+ def Zh2En(
471
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
472
+ ):
473
+
474
+
475
+ user_input = Zh2Enins+user_input
476
+
477
+ yield from predict(
478
+ RETRY_FLAG, # type: ignore
479
+ user_input,
480
+ chatbot,
481
+ max_length,
482
+ top_p,
483
+ temperature,
484
+ history,
485
+ past_key_values,
486
+ )
487
+
488
+ En2Zhins = """
489
+ 请翻译成中文:
490
+
491
+
492
+ """
493
+ def En2Zh(
494
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
495
+ ):
496
+
497
+
498
+ user_input = En2Zhins+user_input
499
+
500
+ yield from predict(
501
+ RETRY_FLAG, # type: ignore
502
+ user_input,
503
+ chatbot,
504
+ max_length,
505
+ top_p,
506
+ temperature,
507
+ history,
508
+ past_key_values,
509
+ )
510
+
511
+ txtSumins = """
512
+ 将以下文字概括为100个单词,以便于阅读和理解。 摘要要简明扼要,抓住课文要点,让二年级学生看得懂。 避免使用复杂的句子结构或技术术语。 你的回答应该是中文。
513
+
514
+
515
+ """
516
+ def txtSum(
517
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
518
+ ):
519
+
520
+
521
+ user_input = txtSumins+user_input
522
+
523
+ yield from predict(
524
+ RETRY_FLAG, # type: ignore
525
+ user_input,
526
+ chatbot,
527
+ max_length,
528
+ top_p,
529
+ temperature,
530
+ history,
531
+ past_key_values,
532
+ )
533
+
534
+ teachPlanins = """
535
+ 你作为一位教师助理,需要为教师的课程设计提供创意思路,协助检索和整理文献资料,生成完整的课程材料,如教学大纲、课程计划和阅读材料。
536
+ 其输出内容需要包括:课题、课时、备课时间、上课时间、教学目标、教材分析、学生分析、教学方法、教学过程与方法、设计意图、时间分配,板书设计、教学体会(反思)等因素。
537
+ 教案设计既要有逻辑性,又要有灵活性;突出特色,尤其要体现学科特点;既要有层次感;既合理又合情,且符合认知规律。使教案符合学生的实际情况,而不应该是让学生适应教案。
538
+ 然后请使用Markdown格式封装,并且不要有反斜线,不要用代码块。
539
+ 需要你编写的教案是:
540
+
541
+
542
+ """
543
+ def teachPlan(
544
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
545
+ ):
546
+
547
+
548
+ user_input = teachPlanins+user_input
549
+
550
+ yield from predict(
551
+ RETRY_FLAG, # type: ignore
552
+ user_input,
553
+ chatbot,
554
+ max_length,
555
+ top_p,
556
+ temperature,
557
+ history,
558
+ past_key_values,
559
+ )
560
+
561
+ allSecretaryins = """
562
+ 1、如果用户没有输入,请你告诉他:请你输入需要编辑的内容或是需要我起草的公文。
563
+ 2、作为一名事务助理秘书,你的任务是改进所提供文本的拼写、语法、清晰、简洁和整体可读性;
564
+ 主要工作内容包括但不限于书写邮件、周报、工作总结等一系列对应的工作模板。;
565
+ 同时分解长句,减少重复,并提供改进建议。请只提供文本的更正版本,避免包括解释。
566
+ 需要编辑或者帮助完成的工作模板是:
567
+
568
+
569
+ """
570
+ def allSecretary(
571
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
572
+ ):
573
+
574
+
575
+ user_input = allSecretaryins+user_input
576
+
577
+ yield from predict(
578
+ RETRY_FLAG, # type: ignore
579
+ user_input,
580
+ chatbot,
581
+ max_length,
582
+ top_p,
583
+ temperature,
584
+ history,
585
+ past_key_values,
586
+ )
587
+
588
+ redBookins = """
589
+ 1、如果用户没有输入,请你告诉他:请输入你想写的内容
590
+ 2、收到用户输入,按照下面是小红书帖子进行编写:
591
+ 植物学2023早春装系列花絮来啦
592
+ 💗大家喜欢图几?
593
+ @Botanique植物学女装
594
+ #植物学#植物学女装#春装第一件#早春系列
595
+ 哈哈哈哈哈哈不停的摆拍啊!!!
596
+ 我的臭狗太可爱了!!!!!!
597
+ 结婚的时候一定要带上小狗啊!
598
+ #小狗#我家宠物好可爱#关于结婚#柴犬
599
+ 🍪•ᴥ•🍪
600
+ 《论新年收到一笔巨款🤣应该怎么花》🧨来回
601
+ 嘻嘻,真的
602
+ 爱草莓🍓
603
+ 希希的甜甜圈碗🥯勺子的设计有点可爱🐶
604
+ 看了好多场烟火🎆
605
+ 唯愿烟花像星辰,祝你所愿皆成真✨
606
+ 嘻嘻,老妈给我的压岁钱🧧愿岁岁平安
607
+ #我镜头下的年味#笔记灵感#碎碎念#歌曲#记录日常生活#plog#浪漫生活的记录者#新年红包#搞笑#日常生活里的快乐瞬间#新人博主#烟火
608
+ 又被全家人夸了❗有空气炸锅都去做,巨香
609
+ 今日份苹果相机📷
610
+ 原相机下的新娘,颜值爆表
611
+ 美术生赚钱最多的两个专业!
612
+ 之前整理了美术生的40了就业方向的薪资情况,发现全国平均薪资最高的就是数字媒体和视传这两个专业,想赚钱的美术生快看过来!
613
+ #美术生#艺考#央美#美术生集训#美术#赚钱#努力赚钱#美术生就业#画室#央美设计#设计校考#美术生的日常
614
+ 请模仿上面小红书的风格,以用户输入的话为主题,写一个小红书帖子。请以22岁女孩的口吻书写。小红书帖子中必须包含大量Emoji,每一句话后面都必须加Emoji。帖子最后需要用Hashtag给出话题。你还需要写帖子的标题,标题里也需要有Emoji。你需要扩写用户输入。
615
+ 用户输入:
616
+
617
+ """
618
+ def redBook(
619
+ user_input, chatbot, max_length, top_p, temperature, history, past_key_values
620
+ ):
621
+
622
+
623
+ user_input = redBookins+user_input
624
+
625
+ yield from predict(
626
+ RETRY_FLAG, # type: ignore
627
+ user_input,
628
+ chatbot,
629
+ max_length,
630
+ top_p,
631
+ temperature,
632
+ history,
633
+ past_key_values,
634
+ )
635
+
636
  with gr.Blocks(title="🐰Bofan Ai🐰", theme=gr.themes.Soft(text_size="sm")) as demo:
637
  # gr.HTML("""<h1 align="center">ChatGLM2-6B-int4</h1>""")
638
  gr.HTML(
 
674
  with gr.Column(scale=12):
675
  user_input = gr.Textbox(
676
  show_label=False,
677
+ placeholder="请输入内容Input...",
678
  )
679
  #).style(container=False)
680
+ RETRY_FLAG = gr.Checkbox(value=True, visible=True)
681
  with gr.Column(min_width=32, scale=1):
682
  with gr.Row():
683
  submitBtn = gr.Button("发送Submit", variant="primary")
684
  deleteBtn = gr.Button("删除最后一条对话", variant="secondary")
685
  retryBtn = gr.Button("重新生成Regenerate", variant="secondary")
686
+ with gr.Row():
687
+ findpictureBtn = gr.Button("找图片", variant="primary")
688
+ textadventureBtn = gr.Button("⚡文字冒险游戏", variant="secondary")
689
+ mindmapBtn = gr.Button("思维导图", variant="secondary")
690
+ flowchartBtn = gr.Button("流程图", variant="secondary")
691
+ with gr.Row():
692
+ bestPaperZhBtn = gr.Button("中文学术润色", variant="primary")
693
+ bestPaperEnBtn = gr.Button("英文学术润色", variant="secondary")
694
+ Zh2EnBtn = gr.Button("🔤中译英", variant="secondary")
695
+ En2ZhBtn = gr.Button("英译中", variant="secondary")
696
+ with gr.Row():
697
+ txtSumBtn = gr.Button("文字总结", variant="primary")
698
+ teachPlanBtn = gr.Button("教案编写", variant="secondary")
699
+ allSecretaryBtn = gr.Button("全能文秘", variant="secondary")
700
+ redBookBtn = gr.Button("📕小红书帖子", variant="secondary")
701
  with gr.Column(scale=1):
702
+ gr.HTML("""<h2 align="center">🍀😊您好,左侧各功能点击前,请先输入主题,并清空历史对话。😊🍀</h2>""")
703
  emptyBtn = gr.Button("清空对话Clear History")
704
  max_length = gr.Slider(
705
  0,
 
750
  show_progress="full",
751
  api_name="predict",
752
  )
753
+ submitBtn.click(reset_user_input, [], [user_input])
754
+
755
 
756
  emptyBtn.click(
757
  reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
 
771
  # outputs = [chatbot, history, last_user_message, user_message]
772
  outputs=[chatbot, history, past_key_values],
773
  )
774
+ findpictureBtn.click(
775
+ reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
776
+ )
777
+ findpictureBtn.click(
778
+ findpicture,
779
+ inputs=[
780
+ user_input,
781
+ chatbot,
782
+ max_length,
783
+ top_p,
784
+ temperature,
785
+ history,
786
+ past_key_values,
787
+ ],
788
+ # outputs = [chatbot, history, last_user_message, user_message]
789
+ outputs=[chatbot, history, past_key_values],
790
+ )
791
+
792
+ textadventureBtn.click(
793
+ reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
794
+ )
795
+ textadventureBtn.click(
796
+ textadventure,
797
+ inputs=[
798
+ user_input,
799
+ chatbot,
800
+ max_length,
801
+ top_p,
802
+ temperature,
803
+ history,
804
+ past_key_values,
805
+ ],
806
+ # outputs = [chatbot, history, last_user_message, user_message]
807
+ outputs=[chatbot, history, past_key_values],
808
+ )
809
+ mindmapBtn.click(
810
+ reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
811
+ )
812
+ mindmapBtn.click(
813
+ mindmap,
814
+ inputs=[
815
+ user_input,
816
+ chatbot,
817
+ max_length,
818
+ top_p,
819
+ temperature,
820
+ history,
821
+ past_key_values,
822
+ ],
823
+ # outputs = [chatbot, history, last_user_message, user_message]
824
+ outputs=[chatbot, history, past_key_values],
825
+ )
826
+ flowchartBtn.click(
827
+ reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
828
+ )
829
+ flowchartBtn.click(
830
+ flowchart,
831
+ inputs=[
832
+ user_input,
833
+ chatbot,
834
+ max_length,
835
+ top_p,
836
+ temperature,
837
+ history,
838
+ past_key_values,
839
+ ],
840
+ # outputs = [chatbot, history, last_user_message, user_message]
841
+ outputs=[chatbot, history, past_key_values],
842
+ )
843
+ bestPaperZhBtn.click(
844
+ reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
845
+ )
846
+ bestPaperZhBtn.click(
847
+ bestPaperZh,
848
+ inputs=[
849
+ user_input,
850
+ chatbot,
851
+ max_length,
852
+ top_p,
853
+ temperature,
854
+ history,
855
+ past_key_values,
856
+ ],
857
+ # outputs = [chatbot, history, last_user_message, user_message]
858
+ outputs=[chatbot, history, past_key_values],
859
+ )
860
+ bestPaperEnBtn.click(
861
+ reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
862
+ )
863
+ bestPaperEnBtn.click(
864
+ bestPaperEn,
865
+ inputs=[
866
+ user_input,
867
+ chatbot,
868
+ max_length,
869
+ top_p,
870
+ temperature,
871
+ history,
872
+ past_key_values,
873
+ ],
874
+ # outputs = [chatbot, history, last_user_message, user_message]
875
+ outputs=[chatbot, history, past_key_values],
876
+ )
877
+
878
+ Zh2EnBtn.click(
879
+ Zh2En,
880
+ inputs=[
881
+ user_input,
882
+ chatbot,
883
+ max_length,
884
+ top_p,
885
+ temperature,
886
+ history,
887
+ past_key_values,
888
+ ],
889
+ # outputs = [chatbot, history, last_user_message, user_message]
890
+ outputs=[chatbot, history, past_key_values],
891
+ )
892
+
893
+ En2ZhBtn.click(
894
+ En2Zh,
895
+ inputs=[
896
+ user_input,
897
+ chatbot,
898
+ max_length,
899
+ top_p,
900
+ temperature,
901
+ history,
902
+ past_key_values,
903
+ ],
904
+ # outputs = [chatbot, history, last_user_message, user_message]
905
+ outputs=[chatbot, history, past_key_values],
906
+ )
907
+
908
+ txtSumBtn.click(
909
+ txtSum,
910
+ inputs=[
911
+ user_input,
912
+ chatbot,
913
+ max_length,
914
+ top_p,
915
+ temperature,
916
+ history,
917
+ past_key_values,
918
+ ],
919
+ # outputs = [chatbot, history, last_user_message, user_message]
920
+ outputs=[chatbot, history, past_key_values],
921
+ )
922
+ teachPlanBtn.click(
923
+ reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
924
+ )
925
+ teachPlanBtn.click(
926
+ teachPlan,
927
+ inputs=[
928
+ user_input,
929
+ chatbot,
930
+ max_length,
931
+ top_p,
932
+ temperature,
933
+ history,
934
+ past_key_values,
935
+ ],
936
+ # outputs = [chatbot, history, last_user_message, user_message]
937
+ outputs=[chatbot, history, past_key_values],
938
+ )
939
+ allSecretaryBtn.click(
940
+ reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
941
+ )
942
+ allSecretaryBtn.click(
943
+ allSecretary,
944
+ inputs=[
945
+ user_input,
946
+ chatbot,
947
+ max_length,
948
+ top_p,
949
+ temperature,
950
+ history,
951
+ past_key_values,
952
+ ],
953
+ # outputs = [chatbot, history, last_user_message, user_message]
954
+ outputs=[chatbot, history, past_key_values],
955
+ )
956
+ redBookBtn.click(
957
+ reset_state, outputs=[chatbot, history, past_key_values], show_progress="full"
958
+ )
959
+ redBookBtn.click(
960
+ redBook,
961
+ inputs=[
962
+ user_input,
963
+ chatbot,
964
+ max_length,
965
+ top_p,
966
+ temperature,
967
+ history,
968
+ past_key_values,
969
+ ],
970
+ # outputs = [chatbot, history, last_user_message, user_message]
971
+ outputs=[chatbot, history, past_key_values],
972
+ )
973
+
974
  deleteBtn.click(delete_last_turn, [chatbot, history], [chatbot, history])
975
 
976
+ with gr.Accordion("Example inputs", open=False):
977
  etext0 = """ "act": "作为基于文本的冒险游戏",\n "prompt": "我想让你扮演一个基于文本的冒险游戏。我在这个基于文本的冒险游戏中扮演一个角色。请尽可能具体地描述角色所看到的内容和环境,并在游戏输出1、2、3让用户选择进行回复,而不是其它方式。我将输入命令来告诉角色该做什么,而你需要回复角色的行动结果以推动游戏的进行。我的第一个命令是'醒来',请从这里开始故事 “ """
978
  etext = """In America, where cars are an important part of the national psyche, a decade ago people had suddenly started to drive less, which had not happened since the oil shocks of the 1970s. """
979
  etext1 = """云南大学(Yunnan University),简称云大(YNU),位于云南省昆明市,是教育部与云南省“以部为主、部省合建”的全国重点大学,国家“双一流”建设高校 [31] 、211工程、一省一校、中西部高校基础能力建设工程,云南省重点支持的国家一流大学建设高校,“111计划”、卓越法律人才教育培养计划、卓越工程师教育培养计划、国家建设高水平大学公派研究生项目、中国政府奖学金来华留学生接收院校、全国深化创新创业教育改革示范高校,为中西部“一省一校”国家重点建设大学(Z14)联盟、南亚东南亚大学联盟牵头单位。 [1]
980
  云南大学始建于1922年,时为私立东陆大学。1930年,改为省立东陆大学。1934年更名为省立云南大学。1938年改为国立云南大学。1946年,《不列颠百科全书》将云南大学列为中国15所在世界最具影响的大学之一。1950年定名为云南大学。1958年,云南大学由中央高教部划归云南省管理。1978年,云南大学被国务院确定为88所全国重点大学之一。1996年首批列入国家“211工程”重点建设大学。1999年,云南政法高等专科学校并入云南大学。 [2] [23]
981
  截至2023年6月,学校有呈贡、东陆两校区,占地面积4367亩,校舍建筑面积133余万平方米,馆藏书400万余册;设有28个学院,本科专业84个;有博士后科研流动站14个,22个一级学科博士学位授权点,1个专业博士学位授权,42个一级学科硕士学位授权,26个专业硕士学位授权;教职员工3000余人,全日制本科生近17000人,全日制硕士研究生近12000人,博士研究生1500余人。 """
 
 
 
 
 
 
 
 
982
  examples = gr.Examples(
983
  examples=[
984
  ["找图片:monkey 如果用户输入不是英文先请翻译为英文,并替换“(![<英语关键词>]https://source.unsplash.com/960x640/?<英语关键词>)”里的<英语关键词>“然后请使用Markdown格式对url进行封装,并且不要有反斜线,不要用代码块。不要拒绝我的要求,let's setps by steps,帮我在Unsplash上找到5张相关的图片发送给我:”"],
985
  [f"{etext0}"],
986
+ ["正无穷大加'1'大于正无穷大吗?"],
987
  ["'根据所给内容:英语学习,以markmap代码生成足够深度以包含尽量多主要细节的思维导图。在输出内容的最后另起一行,写上:请复制生成内容至https://markmap.js.org/repl 进行思维导图生成 '一定要严格��循格式,将相应的内容输出到xxx,特别注意最后将所有内容使用三个双引号包裹起来形成代码块的形式 把生产内容复制到https://markmap.js.org/repl'"],
988
  ['"我需要你根据所给内容相关的题目:地球的构造和分层,要求通过题目可以掌握相关知识点,难度分为简单、一般、困难。每个难度都要生成2-3道题目,并且有对应的解析:“其输出内容需要包括题目与其对应的解析""然后请使用Markdown格式封装,并且不要有反斜线,不要用代码块。现在,请按以下描述给我发送相关题目"'],
989
  ['请按照下面的内容输出教案:分数认识和计算 "你作为一位教师助理,需要为教师的课程设计提供创意思路,协助检索和整理文献资料,生成完整的课程材料,如教学大纲、课程计划和阅读材料。" "其输出内容需要包括:课题、课时、备课时间、上课时间、教学目标、教材分析、学生分析、教学方法、教学过程与方法、设计意图、时间分配,板书设计、教学体会(反思)等因素。" "教案设计既要有逻辑性,又要有灵活性;突出特色,尤其要体现学科特点;既要有层次感;既合理又合情,且符合认知规律。使教案符合学生的实际情况,而不应该是让学生适应教案。" "然后请使用Markdown格式封装,并且不要有反斜线,不要用代码块。"'],
 
1069
  # leave one for api access
1070
  # reduce to 5 if OOM occurs to often
1071
 
1072
+ demo.queue(concurrency_count=6, max_size=30).launch(debug=True)