zyliu commited on
Commit
4779b65
1 Parent(s): 9fe2062

update app.py and gradio_web_server.py

Browse files
Files changed (2) hide show
  1. app.py +1 -1
  2. gradio_web_server.py +21 -10
app.py CHANGED
@@ -74,7 +74,7 @@ def main(
74
  atexit.register(worker_process.terminate)
75
  worker_port += 1
76
 
77
- time.sleep(60 * 2)
78
  gradio_process = None
79
  if run_gradio:
80
  # python gradio_web_server.py --port 10088 --controller-url http://0.0.0.0:10086
 
74
  atexit.register(worker_process.terminate)
75
  worker_port += 1
76
 
77
+ time.sleep(60)
78
  gradio_process = None
79
  if run_gradio:
80
  # python gradio_web_server.py --port 10088 --controller-url http://0.0.0.0:10086
gradio_web_server.py CHANGED
@@ -165,8 +165,9 @@ def query_image_generation(response, sd_worker_url, timeout=15):
165
  return None
166
 
167
 
168
- def load_demo(url_params, request: gr.Request):
169
- logger.info(f"load_demo. ip: {request.client.host}. params: {url_params}")
 
170
 
171
  dropdown_update = gr.Dropdown(visible=True)
172
  if "model" in url_params:
@@ -178,8 +179,9 @@ def load_demo(url_params, request: gr.Request):
178
  return state, dropdown_update
179
 
180
 
181
- def load_demo_refresh_model_list(request: gr.Request):
182
- logger.info(f"load_demo. ip: {request.client.host}")
 
183
  models = get_model_list()
184
  state = init_state()
185
  dropdown_update = gr.Dropdown(
@@ -263,7 +265,10 @@ def change_system_prompt(state, system_prompt, request: gr.Request):
263
  return state
264
 
265
 
266
- def add_text(state, message, system_prompt, request: gr.Request):
 
 
 
267
  images = message.get("files", [])
268
  text = message.get("text", "").strip()
269
  logger.info(f"add_text. ip: {request.client.host}. len: {len(text)}")
@@ -287,7 +292,9 @@ def add_text(state, message, system_prompt, request: gr.Request):
287
  state.set_system_message(system_prompt)
288
  state.append_message(Conversation.USER, text, images)
289
  state.skip_next = False
290
- return (state, state.to_gradio_chatbot(), textbox) + (disable_btn,) * 5
 
 
291
 
292
 
293
  def http_bot(
@@ -746,8 +753,8 @@ def build_demo(embed_mode):
746
 
747
  textbox.submit(
748
  add_text,
749
- [state, textbox, system_prompt],
750
- [state, chatbot, textbox] + btn_list,
751
  ).then(
752
  http_bot,
753
  [
@@ -765,8 +772,8 @@ def build_demo(embed_mode):
765
  )
766
  submit_btn.click(
767
  add_text,
768
- [state, textbox, system_prompt],
769
- [state, chatbot, textbox] + btn_list,
770
  ).then(
771
  http_bot,
772
  [
@@ -783,6 +790,9 @@ def build_demo(embed_mode):
783
  [state, chatbot, textbox] + btn_list,
784
  )
785
 
 
 
 
786
  if args.model_list_mode == "once":
787
  demo.load(
788
  load_demo,
@@ -799,6 +809,7 @@ def build_demo(embed_mode):
799
  )
800
  else:
801
  raise ValueError(f"Unknown model list mode: {args.model_list_mode}")
 
802
 
803
  return demo
804
 
 
165
  return None
166
 
167
 
168
+ def load_demo(url_params, request: gr.Request = None):
169
+ if not request:
170
+ logger.info(f"load_demo. ip: {request.client.host}. params: {url_params}")
171
 
172
  dropdown_update = gr.Dropdown(visible=True)
173
  if "model" in url_params:
 
179
  return state, dropdown_update
180
 
181
 
182
+ def load_demo_refresh_model_list(request: gr.Request = None):
183
+ if not request:
184
+ logger.info(f"load_demo. ip: {request.client.host}")
185
  models = get_model_list()
186
  state = init_state()
187
  dropdown_update = gr.Dropdown(
 
265
  return state
266
 
267
 
268
+ def add_text(state, message, system_prompt, model_selector, request: gr.Request):
269
+ print(f"state: {state}")
270
+ if not state:
271
+ state, model_selector = load_demo_refresh_model_list(request)
272
  images = message.get("files", [])
273
  text = message.get("text", "").strip()
274
  logger.info(f"add_text. ip: {request.client.host}. len: {len(text)}")
 
292
  state.set_system_message(system_prompt)
293
  state.append_message(Conversation.USER, text, images)
294
  state.skip_next = False
295
+ return (state, state.to_gradio_chatbot(), textbox, model_selector) + (
296
+ disable_btn,
297
+ ) * 5
298
 
299
 
300
  def http_bot(
 
753
 
754
  textbox.submit(
755
  add_text,
756
+ [state, textbox, system_prompt, model_selector],
757
+ [state, chatbot, textbox, model_selector] + btn_list,
758
  ).then(
759
  http_bot,
760
  [
 
772
  )
773
  submit_btn.click(
774
  add_text,
775
+ [state, textbox, system_prompt, model_selector],
776
+ [state, chatbot, textbox, model_selector] + btn_list,
777
  ).then(
778
  http_bot,
779
  [
 
790
  [state, chatbot, textbox] + btn_list,
791
  )
792
 
793
+ # NOTE: The following code will be not triggered when deployed on HF space.
794
+ # It's very strange. I don't know why.
795
+ """
796
  if args.model_list_mode == "once":
797
  demo.load(
798
  load_demo,
 
809
  )
810
  else:
811
  raise ValueError(f"Unknown model list mode: {args.model_list_mode}")
812
+ """
813
 
814
  return demo
815