Spaces:
Runtime error
Runtime error
import gradio as gr | |
import time | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
messages_per_second = gr.Number(100, label="Messages per second") | |
number_of_messages = gr.Number(200, label="Number of messages") | |
chatbot = gr.Chatbot() | |
start = gr.Button("Start") | |
def bot(messages_per_second, number_of_messages): | |
history = [[f"Streaming {number_of_messages} msgs at {messages_per_second} msg/s ", ""]] | |
start_time = time.time() | |
for num in range(number_of_messages): | |
history[-1][1] += " " + str(num) | |
time.sleep(1 / messages_per_second) | |
yield history, None | |
end_time = time.time() | |
yield history, end_time - start_time | |
with gr.Row(): | |
expected_duration = gr.Number(label="Expected Duration (w/o Overhead)") | |
backend_duration = gr.Number(label="Duration (for Backend)") | |
frontend_duration = gr.Number(label="Duration (for Frontend)") | |
start.click(fn=None, js="""() => { | |
window.start_time = performance.now(); | |
}""") | |
start.click(lambda messages_per_second, number_of_messages: number_of_messages / messages_per_second, [messages_per_second, number_of_messages], [expected_duration]) | |
start.click(bot, [messages_per_second, number_of_messages], [chatbot, backend_duration]).then( | |
fn=None, | |
outputs=frontend_duration, | |
js="""() => { | |
let now = performance.now(); | |
return (now - window.start_time) / 1000; | |
}""") | |
demo.launch() |