diff --git a/examples/gradio_test.py b/examples/gradio_test.py new file mode 100644 index 000000000..f39a1ca9e --- /dev/null +++ b/examples/gradio_test.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- + +import gradio as gr + +def change_tab(): + return gr.Tabs.update(selected=1) + +with gr.Blocks() as demo: + with gr.Tabs() as tabs: + with gr.TabItem("Train", id=0): + t = gr.Textbox() + with gr.TabItem("Inference", id=1): + i = gr.Image() + + btn = gr.Button() + btn.click(change_tab, None, tabs) + +demo.launch() \ No newline at end of file diff --git a/pilot/configs/model_config.py b/pilot/configs/model_config.py index da21e4ac8..1e78494ce 100644 --- a/pilot/configs/model_config.py +++ b/pilot/configs/model_config.py @@ -28,8 +28,7 @@ VECTOR_SEARCH_TOP_K = 3 LLM_MODEL = "vicuna-13b" LIMIT_MODEL_CONCURRENCY = 5 MAX_POSITION_EMBEDDINGS = 4096 -VICUNA_MODEL_SERVER = "http://192.168.31.114:8000" - +VICUNA_MODEL_SERVER = "http://47.97.125.199:8000" # Load model config ISLOAD_8BIT = True diff --git a/pilot/server/webserver.py b/pilot/server/webserver.py index 5c09d7b85..b75a44e04 100644 --- a/pilot/server/webserver.py +++ b/pilot/server/webserver.py @@ -45,6 +45,7 @@ enable_moderation = False models = [] dbs = [] vs_list = ["新建知识库"] + get_vector_storelist() +autogpt = False priority = { "vicuna-13b": "aaa" @@ -58,8 +59,6 @@ def get_simlar(q): contents = [dc.page_content for dc, _ in docs] return "\n".join(contents) - - def gen_sqlgen_conversation(dbname): mo = MySQLOperator( **DB_SETTINGS @@ -118,6 +117,8 @@ def regenerate(state, request: gr.Request): return (state, state.to_gradio_chatbot(), "") + (disable_btn,) * 5 def clear_history(request: gr.Request): + + logger.info(f"clear_history. ip: {request.client.host}") state = None return (state, [], "") + (disable_btn,) * 5 @@ -135,7 +136,7 @@ def add_text(state, text, request: gr.Request): return (state, state.to_gradio_chatbot(), moderation_msg) + ( no_change_btn,) * 5 - text = text[:1536] # Hard cut-off + text = text[:4000] # Hard cut-off state.append_message(state.roles[0], text) state.append_message(state.roles[1], None) state.skip_next = False @@ -152,6 +153,8 @@ def post_process_code(code): return code def http_bot(state, mode, db_selector, temperature, max_new_tokens, request: gr.Request): + + print("是否是AUTO-GPT模式.", autogpt) start_tstamp = time.time() model_name = LLM_MODEL @@ -162,7 +165,8 @@ def http_bot(state, mode, db_selector, temperature, max_new_tokens, request: gr. yield (state, state.to_gradio_chatbot()) + (no_change_btn,) * 5 return - + + # TODO when tab mode is AUTO_GPT, Prompt need to rebuild. if len(state.messages) == state.offset + 2: # 第一轮对话需要加入提示Prompt @@ -251,29 +255,28 @@ def http_bot(state, mode, db_selector, temperature, max_new_tokens, request: gr. block_css = ( code_highlight_css + """ -pre { - white-space: pre-wrap; /* Since CSS 2.1 */ - white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - word-wrap: break-word; /* Internet Explorer 5.5+ */ -} -#notice_markdown th { - display: none; -} - """ + pre { + white-space: pre-wrap; /* Since CSS 2.1 */ + white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ + } + #notice_markdown th { + display: none; + } + """ ) -def change_tab(tab): - pass - def change_mode(mode): if mode in ["默认知识库对话", "LLM原生对话"]: return gr.update(visible=False) else: return gr.update(visible=True) - +def change_tab(): + autogpt = True + def build_single_model_ui(): notice_markdown = """ @@ -307,10 +310,11 @@ def build_single_model_ui(): interactive=True, label="最大输出Token数", ) - tabs = gr.Tabs() + tabs= gr.Tabs() with tabs: - with gr.TabItem("SQL生成与诊断", elem_id="SQL"): - # TODO A selector to choose database + tab_sql = gr.TabItem("SQL生成与诊断", elem_id="SQL") + with tab_sql: + # TODO A selector to choose database with gr.Row(elem_id="db_selector"): db_selector = gr.Dropdown( label="请选择数据库", @@ -318,9 +322,12 @@ def build_single_model_ui(): value=dbs[0] if len(models) > 0 else "", interactive=True, show_label=True).style(container=False) + tab_auto = gr.TabItem("AUTO-GPT", elem_id="auto") + with tab_auto: + gr.Markdown("自动执行模式下, DB-GPT可以具备执行SQL、从网络读取知识自动化存储学习的能力") - with gr.TabItem("知识问答", elem_id="QA"): - + tab_qa = gr.TabItem("知识问答", elem_id="QA") + with tab_qa: mode = gr.Radio(["LLM原生对话", "默认知识库对话", "新增知识库对话"], show_label=False, value="LLM原生对话") vs_setting = gr.Accordion("配置知识库", open=False) mode.change(fn=change_mode, inputs=mode, outputs=vs_setting) @@ -360,9 +367,7 @@ def build_single_model_ui(): regenerate_btn = gr.Button(value="重新生成", interactive=False) clear_btn = gr.Button(value="清理", interactive=False) - gr.Markdown(learn_more_markdown) - btn_list = [regenerate_btn, clear_btn] regenerate_btn.click(regenerate, state, [state, chatbot, textbox] + btn_list).then( http_bot,