Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import time | |
| def simulate_response(prompt, expected_output, words_per_second, history): | |
| delay = 1.0 / words_per_second if words_per_second > 0 else 0.01 | |
| # Add user prompt | |
| history.append((prompt, "")) | |
| # Stream simulated response | |
| output = "" | |
| for word in expected_output.split(): | |
| output += word + " " | |
| history[-1] = (prompt, output.strip()) | |
| time.sleep(delay) | |
| yield history | |
| with gr.Blocks(theme="default") as demo: | |
| gr.Markdown("## 🧠 Simulated Chatbot (LLM Style)", elem_id="title") | |
| chatbot = gr.Chatbot(show_label=False, height=800) | |
| generate_btn = gr.Button("Simulate Chat") | |
| with gr.Row(): | |
| prompt_input = gr.Textbox(label="User Prompt", placeholder="Type your prompt here") | |
| response_input = gr.Textbox(label="Expected Output", placeholder="Type simulated response here") | |
| wps_slider = gr.Slider(minimum=1, maximum=5000, value=5, step=1, | |
| label="Simulated Words per Second") | |
| generate_btn.click( | |
| simulate_response, | |
| inputs=[prompt_input, response_input, wps_slider, chatbot], | |
| outputs=chatbot | |
| ) | |
| demo.launch() | |