DUTwangzhijun commited on
Commit
56bfdb4
1 Parent(s): 37e7cb8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +88 -0
app.py CHANGED
@@ -2,3 +2,91 @@ from typing import Iterator
2
 
3
  import gradio as gr
4
  import torch
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  import gradio as gr
4
  import torch
5
+
6
+ MAX_MAX_NEW_TOKENS = 4096
7
+ DEFAULT_MAX_NEW_TOKENS = 1024
8
+ MAX_INPUT_TOKEN_LENGTH = 4000
9
+
10
+
11
+ with gr.Blocks(css='style.css') as demo: # 使用gr.Blocks库创建的Web界面的开始。css='style.css'指定了界面的样式表。
12
+ gr.Markdown(DESCRIPTION) # 使用Markdown格式显示描述文本:DESCRIPTION
13
+ gr.DuplicateButton(value='Duplicate Space for private use', # 复制按钮,允许复制作为私人使用
14
+ elem_id='duplicate-button')
15
+
16
+ with gr.Group(): # 这是一个组,用于将一组元素组织在一起。
17
+ chatbot = gr.Chatbot(label='Chatbot')
18
+ with gr.Row(): # 这是一个行元素,将其中的元素排成一排
19
+ # 这是一个文本框,用户可以在其中输入消息。
20
+ textbox = gr.Textbox(
21
+ container=False,
22
+ show_label=False,
23
+ placeholder='Type a message...',
24
+ scale=10,
25
+ )
26
+ # 这是一个提交按钮,用户可以点击它来发送消息。
27
+ submit_button = gr.Button('Submit',
28
+ variant='primary',
29
+ scale=1,
30
+ min_width=0)
31
+
32
+
33
+ with gr.Row(): # 另一个行元素
34
+ retry_button = gr.Button('🔄 Retry', variant='secondary')
35
+ undo_button = gr.Button('↩️ Undo', variant='secondary')
36
+ clear_button = gr.Button('🗑️ Clear', variant='secondary')
37
+
38
+ saved_input = gr.State() # 这是一个状态变量,用于保存用户输入的消息
39
+
40
+ with gr.Accordion(label='Advanced options', open=False): # 是一个可折叠的高级选项部分,用户可以展开或收起,可调节训练中参数值。
41
+ system_prompt = gr.Textbox(label='System prompt',
42
+ value=DEFAULT_SYSTEM_PROMPT,
43
+ lines=6)
44
+ max_new_tokens = gr.Slider( # 滑块
45
+ label='Max new tokens',
46
+ minimum=1,
47
+ maximum=MAX_MAX_NEW_TOKENS,
48
+ step=1,
49
+ value=DEFAULT_MAX_NEW_TOKENS,
50
+ )
51
+ temperature = gr.Slider( # 预热值
52
+ label='Temperature',
53
+ minimum=0.1,
54
+ maximum=4.0,
55
+ step=0.1,
56
+ value=0.1,
57
+ )
58
+ top_p = gr.Slider(
59
+ label='Top-p (nucleus sampling)',
60
+ minimum=0.05,
61
+ maximum=1.0,
62
+ step=0.05,
63
+ value=0.9,
64
+ )
65
+ top_k = gr.Slider(
66
+ label='Top-k',
67
+ minimum=1,
68
+ maximum=1000,
69
+ step=1,
70
+ value=10,
71
+ )
72
+ repetition_penalty = gr.Slider(
73
+ label = 'Repetition_penalty',
74
+ minimum = 0.1,
75
+ maximum = 3.0,
76
+ step = 0.1,
77
+ value = 1.0,
78
+ )
79
+
80
+ gr.Examples(
81
+ examples=[
82
+ 'What is the Fibonacci sequence?',
83
+ 'Can you explain briefly what Python is good for?',
84
+ 'How can I display a grid of images in SwiftUI?',
85
+ ],
86
+ inputs=textbox,
87
+ outputs=[textbox, chatbot],
88
+ fn=process_example,
89
+ cache_examples=True,
90
+ )
91
+
92
+ demo.queue(max_size=20).launch()