mirror of
https://github.com/gradio-app/gradio.git
synced 2025-03-13 11:57:29 +08:00
29 lines
824 B
Python
29 lines
824 B
Python
|
import gradio as gr
|
||
|
import random
|
||
|
import time
|
||
|
|
||
|
with gr.Blocks() as demo:
|
||
|
chatbot = gr.Chatbot(msg_format="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.05)
|
||
|
yield history
|
||
|
|
||
|
msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then(
|
||
|
bot, chatbot, chatbot
|
||
|
)
|
||
|
clear.click(lambda: None, None, chatbot, queue=False)
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
demo.launch()
|