jedick
Add app.py
ba52610
raw
history blame
1.27 kB
import gradio as gr
import time
# Inspired by: https://www.gradio.app/guides/agents-and-tool-usage
def interact_with_agent(prompt, messages=[]):
"""Simulate generation of two assistant messages after delays"""
time.sleep(2)
messages.append(
gr.ChatMessage(
role="assistant", content="Progress timer stops here (or becomes invisible)"
)
)
yield messages
time.sleep(2)
messages.append(
gr.ChatMessage(role="assistant", content="But I want it to stop here")
)
yield messages
def str_to_message(content, role="user"):
return [gr.ChatMessage(role=role, content=content)]
with gr.Blocks() as demo:
chatbot = gr.Chatbot(
type="messages",
label="How to display cumulative runtime for all assistant messages?",
)
input = gr.Textbox(
"Start the simulation with two assistant messages after 2-second delays",
autofocus=True,
)
input.submit(
# Update chatbot UI with user message immediately
str_to_message,
input,
chatbot,
).then(
# Update chatbot UI with assistant messages
interact_with_agent,
[input, chatbot],
chatbot,
show_progress="minimal",
)
demo.launch()