From c78254cd865fef421871865be6dc2b5062a8ded0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 29 Mar 2023 20:07:38 +0800 Subject: [PATCH] Merge branch 'master' of https://github.com/Okabe-Rintarou-0/chatgpt_academic into Okabe-Rintarou-0-master --- config.py | 2 +- main.py | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/config.py b/config.py index badcd49..644bd4d 100644 --- a/config.py +++ b/config.py @@ -20,7 +20,7 @@ else: print('网络代理状态:未配置。无代理状态下很可能无法访问。') # 发送请求到OpenAI后,等待多久判定为超时 -TIMEOUT_SECONDS = 20 +TIMEOUT_SECONDS = 25 # 网页的端口, -1代表随机端口 WEB_PORT = -1 diff --git a/main.py b/main.py index 50ccf30..8a6db8f 100644 --- a/main.py +++ b/main.py @@ -36,6 +36,7 @@ gr.Chatbot.postprocess = format_io from theme import adjust_theme set_theme = adjust_theme() +can_cancel_events = [] with gr.Blocks(theme=set_theme, analytics_enabled=False) as demo: gr.HTML(title_html) with gr.Row(): @@ -52,6 +53,7 @@ with gr.Blocks(theme=set_theme, analytics_enabled=False) as demo: with gr.Row(): resetBtn = gr.Button("重置", variant="secondary") submitBtn = gr.Button("提交", variant="primary") + stopBtn = gr.Button("停止", variant="stop") with gr.Row(): from check_proxy import check_proxy statusDisplay = gr.Markdown(f"Tip: 按Enter提交, 按Shift+Enter换行. \nNetwork: {check_proxy(proxies)}\nModel: {LLM_MODEL}") @@ -77,14 +79,15 @@ with gr.Blocks(theme=set_theme, analytics_enabled=False) as demo: predict_args = dict(fn=predict, inputs=[txt, top_p, temperature, chatbot, history, system_prompt], outputs=[chatbot, history, statusDisplay], show_progress=True) empty_txt_args = dict(fn=lambda: "", inputs=[], outputs=[txt]) - txt.submit(**predict_args) + can_cancel_events.append(txt.submit(**predict_args)) txt.submit(**empty_txt_args) - submitBtn.click(**predict_args) + can_cancel_events.append(submitBtn.click(**predict_args)) submitBtn.click(**empty_txt_args) resetBtn.click(lambda: ([], [], "已重置"), None, [chatbot, history, statusDisplay]) for k in functional: - functional[k]["Button"].click(predict, + click_handle = functional[k]["Button"].click(predict, [txt, top_p, temperature, chatbot, history, system_prompt, gr.State(True), gr.State(k)], [chatbot, history, statusDisplay], show_progress=True) + can_cancel_events.append(click_handle) file_upload.upload(on_file_uploaded, [file_upload, chatbot, txt], [chatbot, txt]) for k in crazy_functional: click_handle = crazy_functional[k]["Button"].click(crazy_functional[k]["Function"], @@ -92,6 +95,8 @@ with gr.Blocks(theme=set_theme, analytics_enabled=False) as demo: ) try: click_handle.then(on_report_generated, [file_upload, chatbot], [file_upload, chatbot]) except: pass + can_cancel_events.append(click_handle) + stopBtn.click(fn=None, inputs=None, outputs=None, cancels=can_cancel_events) # gradio的inbrowser触发不太稳定,回滚代码到原始的浏览器打开函数 def auto_opentab_delay():