
- 在 chat_page 和 prompt_manage_page 中添加了独立运行的入口 - 引入 sys 和 pathlib 模块以支持路径操作 - 修改了模块导入方式,使其能够作为独立脚本运行 - 优化了代码结构,提高了可读性和可维护性
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
import gradio as gr
|
|
import sys
|
|
from pathlib import Path
|
|
sys.path.append(str(Path(__file__).resolve().parent.parent))
|
|
from global_var import model,tokenizer
|
|
|
|
def chat_page():
|
|
with gr.Blocks() as demo:
|
|
import random
|
|
import time
|
|
gr.Markdown("## 聊天")
|
|
chatbot = gr.Chatbot(type="messages")
|
|
msg = gr.Textbox()
|
|
clear = gr.Button("Clear")
|
|
|
|
def user(user_message, history: list):
|
|
return "", history + [{"role": "user", "content": user_message}]
|
|
|
|
def bot(history: list):
|
|
bot_message = random.choice(["How are you?", "I love you", "I'm very hungry"])
|
|
history.append({"role": "assistant", "content": ""})
|
|
for character in bot_message:
|
|
history[-1]['content'] += character
|
|
time.sleep(0.1)
|
|
yield history
|
|
|
|
msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then(
|
|
bot, chatbot, chatbot
|
|
|
|
)
|
|
clear.click(lambda: None, None, chatbot, queue=False)
|
|
return demo
|
|
|
|
if __name__ == "__main__":
|
|
chat_page().queue().launch() |