cafe3310's picture
Refactor: Implement streaming response and simplify architecture
9602bb7
raw
history blame
759 Bytes
import gradio as gr
from comp import generate_response
# --- Gradio UI ---
with gr.Blocks() as demo:
gr.Markdown("# Ling Playground")
chatbot = gr.Chatbot()
msg = gr.Textbox()
clear = gr.ClearButton([msg, chatbot])
def user(user_message, history):
return "", history + [[user_message, None]]
def bot(history):
user_message = history[-1][0]
history[-1][1] = ""
for response in generate_response(user_message, history[:-1]):
history[-1][1] = response
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()