| import gradio as gr |
| import time |
|
|
| def generate_no_stream(): |
| text = "Hello, this is an example without using streaming that emulates a model." |
| time.sleep(1.2) |
| return text |
|
|
| def generate_streaming(): |
| text = "Hello, this is an example using streaming that emulates a model ." |
| results = "" |
| for word in text.split(): |
| time.sleep(0.1) |
| results += word |
| results += " " |
| yield results |
|
|
| with gr.Blocks() as demo: |
| btn = gr.Button("Generate") |
| out_non_stream = gr.Textbox(label="Non-streaming Generation") |
| out_stream = gr.Textbox(label="Streaming Generation") |
|
|
| def change_visibility(): |
| return { |
| out_non_stream: gr.update(visible=True), |
| out: gr.update(visible=True), |
| } |
|
|
| btn.click(fn=change_visibility, outputs=[out_non_stream, out_stream]) |
| btn.click(fn=generate_no_stream, outputs=out_non_stream) |
| btn.click(fn=generate_streaming, outputs=out_stream) |
|
|
| demo.launch(debug=True) |