update web demo

Former-commit-id: 5b6ad9adb665096bfb36dc90789a1d4a16345122
This commit is contained in:
hiyouga
2023-08-03 13:28:28 +08:00
parent 9c96b97dc7
commit da08fa7c63
8 changed files with 31 additions and 48 deletions

View File

@@ -1,4 +1 @@
from llmtuner.webui.chat import WebChatModel
from llmtuner.webui.interface import create_ui
from llmtuner.webui.manager import Manager
from llmtuner.webui.components import create_chat_box
from llmtuner.webui.interface import create_ui, create_web_demo

View File

@@ -10,11 +10,12 @@ from llmtuner.webui.locales import ALERTS
class WebChatModel(ChatModel):
def __init__(self, args: Optional[Dict[str, Any]] = None) -> None:
self.model = None
self.tokenizer = None
self.generating_args = GeneratingArguments()
if args is not None:
def __init__(self, args: Optional[Dict[str, Any]] = None, lazy_init: Optional[bool] = True) -> None:
if lazy_init:
self.model = None
self.tokenizer = None
self.generating_args = GeneratingArguments()
else:
super().__init__(args)
def load_model(

View File

@@ -6,8 +6,10 @@ from llmtuner.webui.components import (
create_sft_tab,
create_eval_tab,
create_infer_tab,
create_export_tab
create_export_tab,
create_chat_box
)
from llmtuner.webui.chat import WebChatModel
from llmtuner.webui.css import CSS
from llmtuner.webui.manager import Manager
from llmtuner.webui.runner import Runner
@@ -53,6 +55,23 @@ def create_ui() -> gr.Blocks:
return demo
def create_web_demo() -> gr.Blocks:
chat_model = WebChatModel(lazy_init=False)
with gr.Blocks(title="Web Demo", css=CSS) as demo:
lang = gr.Dropdown(choices=["en", "zh"], value="en")
_, _, _, chat_elems = create_chat_box(chat_model, visible=True)
manager = Manager([{"lang": lang}, chat_elems])
demo.load(manager.gen_label, [lang], [lang] + list(chat_elems.values()))
lang.change(manager.gen_label, [lang], [lang] + list(chat_elems.values()))
return demo
if __name__ == "__main__":
demo = create_ui()
demo.queue()