update app.py and gradio_web_server.py
Browse files- app.py +1 -1
- 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
|
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 |
-
|
|
|
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 |
-
|
|
|
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) + (
|
|
|
|
|
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 |
|