Omnibus commited on
Commit
ba6433f
1 Parent(s): 8300fa7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -16
app.py CHANGED
@@ -19,20 +19,30 @@ InferenceClient(models[3]),
19
 
20
  VERBOSE=False
21
 
22
- def format_prompt(message, history):
 
 
 
 
 
 
 
 
 
23
  prompt = ""
24
  if history:
25
- #<start_of_turn>userHow does the brain work?<end_of_turn><start_of_turn>model
26
  for user_prompt, bot_response in history:
27
- prompt += f"{user_prompt}\n"
28
- #print(prompt)
29
- prompt += f"{bot_response}\n"
30
- #print(prompt)
31
- prompt += f"<start_of_turn>user{message}<end_of_turn><start_of_turn>model"
 
32
  return prompt
33
 
34
- def chat_inf(system_prompt,prompt,history,memory,client_choice,seed,temp,tokens,top_p,rep_p,chat_mem):
35
  #token max=8192
 
36
  hist_len=0
37
  client=clients[int(client_choice)-1]
38
  if not history:
@@ -58,9 +68,11 @@ def chat_inf(system_prompt,prompt,history,memory,client_choice,seed,temp,tokens,
58
  do_sample=True,
59
  seed=seed,
60
  )
61
- formatted_prompt = format_prompt(f"{system_prompt}, {prompt}", memory[0-chat_mem:])
62
- #print("\n######### PROMPT "+str(len(formatted_prompt)))
63
- stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
 
 
64
  output = ""
65
  for response in stream:
66
  output += response.token.text
@@ -68,6 +80,7 @@ def chat_inf(system_prompt,prompt,history,memory,client_choice,seed,temp,tokens,
68
  history.append((prompt,output))
69
  memory.append((prompt,output))
70
  yield history,memory
 
71
  if VERBOSE==True:
72
  print("\n######### HIST "+str(in_len))
73
  print("\n######### TOKENS "+str(tokens))
@@ -109,14 +122,16 @@ with gr.Blocks() as app:
109
  stop_btn=gr.Button("Stop")
110
  clear_btn=gr.Button("Clear")
111
  client_choice=gr.Dropdown(label="Models",type='index',choices=[c for c in models],value=models[0],interactive=True)
 
 
112
  with gr.Column(scale=1):
113
  with gr.Group():
114
  rand = gr.Checkbox(label="Random Seed", value=True)
115
  seed=gr.Slider(label="Seed", minimum=1, maximum=1111111111111111,step=1, value=rand_val)
116
  tokens = gr.Slider(label="Max new tokens",value=1600,minimum=0,maximum=8000,step=64,interactive=True, visible=True,info="The maximum number of tokens")
117
- temp=gr.Slider(label="Temperature",step=0.01, minimum=0.01, maximum=1.0, value=0.9)
118
- top_p=gr.Slider(label="Top-P",step=0.01, minimum=0.01, maximum=1.0, value=0.9)
119
- rep_p=gr.Slider(label="Repetition Penalty",step=0.1, minimum=0.1, maximum=2.0, value=1.0)
120
  chat_mem=gr.Number(label="Chat Memory", info="Number of previous chats to retain",value=4)
121
  with gr.Accordion(label="Screenshot",open=False):
122
  with gr.Row():
@@ -131,9 +146,15 @@ with gr.Blocks() as app:
131
  theme=gr.Radio(label="Theme", choices=["light","dark"],value="light")
132
  chatblock=gr.Dropdown(label="Chatblocks",info="Choose specific blocks of chat",choices=[c for c in range(1,40)],multiselect=True)
133
 
 
 
 
 
134
  im_go=im_btn.click(get_screenshot,[chat_b,im_height,im_width,chatblock,theme,wait_time],img)
135
- chat_sub=inp.submit(check_rand,[rand,seed],seed).then(chat_inf,[sys_inp,inp,chat_b,memory,client_choice,seed,temp,tokens,top_p,rep_p,chat_mem],[chat_b,memory])
136
- go=btn.click(check_rand,[rand,seed],seed).then(chat_inf,[sys_inp,inp,chat_b,memory,client_choice,seed,temp,tokens,top_p,rep_p,chat_mem],[chat_b,memory])
 
 
137
  stop_btn.click(None,None,None,cancels=[go,im_go,chat_sub])
138
  clear_btn.click(clear_fn,None,[inp,sys_inp,chat_b,memory])
139
  app.queue(default_concurrency_limit=10).launch()
 
19
 
20
  VERBOSE=False
21
 
22
+ def load_models(inp):
23
+ if VERBOSE==True:
24
+ print(type(inp))
25
+ print(inp)
26
+ print(models[inp])
27
+ #client_z.clear()
28
+ #client_z.append(InferenceClient(models[inp]))
29
+ return gr.update(label=models[inp])
30
+
31
+ def format_prompt(message, history, cust_p):
32
  prompt = ""
33
  if history:
 
34
  for user_prompt, bot_response in history:
35
+ prompt += f"<start_of_turn>user{user_prompt}<end_of_turn>"
36
+ prompt += f"<start_of_turn>model{bot_response}<end_of_turn>"
37
+ if VERBOSE==True:
38
+ print(prompt)
39
+ #prompt += f"<start_of_turn>user\n{message}<end_of_turn>\n<start_of_turn>model\n"
40
+ prompt+=cust_p.replace("USER_INPUT",message)
41
  return prompt
42
 
43
+ def chat_inf(system_prompt,prompt,history,memory,client_choice,seed,temp,tokens,top_p,rep_p,chat_mem,cust_p):
44
  #token max=8192
45
+ print(client_choice)
46
  hist_len=0
47
  client=clients[int(client_choice)-1]
48
  if not history:
 
68
  do_sample=True,
69
  seed=seed,
70
  )
71
+ if system_prompt:
72
+ formatted_prompt = format_prompt(f"{system_prompt}, {prompt}", memory[0-chat_mem:],cust_p)
73
+ else:
74
+ formatted_prompt = format_prompt(prompt, memory[0-chat_mem:],cust_p)
75
+ stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=True)
76
  output = ""
77
  for response in stream:
78
  output += response.token.text
 
80
  history.append((prompt,output))
81
  memory.append((prompt,output))
82
  yield history,memory
83
+
84
  if VERBOSE==True:
85
  print("\n######### HIST "+str(in_len))
86
  print("\n######### TOKENS "+str(tokens))
 
122
  stop_btn=gr.Button("Stop")
123
  clear_btn=gr.Button("Clear")
124
  client_choice=gr.Dropdown(label="Models",type='index',choices=[c for c in models],value=models[0],interactive=True)
125
+ with gr.Accordion("Prompt Format",open=False):
126
+ custom_prompt=gr.Textbox(label="Modify Prompt Format", info="For testing purposes. 'USER_INPUT' is where 'SYSTEM_PROMPT, PROMPT' will be placed", lines=5,value="<start_of_turn>userUSER_INPUT<end_of_turn><start_of_turn>model")
127
  with gr.Column(scale=1):
128
  with gr.Group():
129
  rand = gr.Checkbox(label="Random Seed", value=True)
130
  seed=gr.Slider(label="Seed", minimum=1, maximum=1111111111111111,step=1, value=rand_val)
131
  tokens = gr.Slider(label="Max new tokens",value=1600,minimum=0,maximum=8000,step=64,interactive=True, visible=True,info="The maximum number of tokens")
132
+ temp=gr.Slider(label="Temperature",step=0.01, minimum=0.01, maximum=1.0, value=0.49)
133
+ top_p=gr.Slider(label="Top-P",step=0.01, minimum=0.01, maximum=1.0, value=0.49)
134
+ rep_p=gr.Slider(label="Repetition Penalty",step=0.01, minimum=0.1, maximum=2.0, value=0.99)
135
  chat_mem=gr.Number(label="Chat Memory", info="Number of previous chats to retain",value=4)
136
  with gr.Accordion(label="Screenshot",open=False):
137
  with gr.Row():
 
146
  theme=gr.Radio(label="Theme", choices=["light","dark"],value="light")
147
  chatblock=gr.Dropdown(label="Chatblocks",info="Choose specific blocks of chat",choices=[c for c in range(1,40)],multiselect=True)
148
 
149
+
150
+ client_choice.change(load_models,client_choice,[chat_b])
151
+ app.load(load_models,client_choice,[chat_b])
152
+
153
  im_go=im_btn.click(get_screenshot,[chat_b,im_height,im_width,chatblock,theme,wait_time],img)
154
+
155
+ chat_sub=inp.submit(check_rand,[rand,seed],seed).then(chat_inf,[sys_inp,inp,chat_b,memory,client_choice,seed,temp,tokens,top_p,rep_p,chat_mem,custom_prompt],[chat_b,memory])
156
+ go=btn.click(check_rand,[rand,seed],seed).then(chat_inf,[sys_inp,inp,chat_b,memory,client_choice,seed,temp,tokens,top_p,rep_p,chat_mem,custom_prompt],[chat_b,memory])
157
+
158
  stop_btn.click(None,None,None,cancels=[go,im_go,chat_sub])
159
  clear_btn.click(clear_fn,None,[inp,sys_inp,chat_b,memory])
160
  app.queue(default_concurrency_limit=10).launch()