Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from gradio import ChatMessage | |
| import time | |
| sleep_time = 0.1 | |
| long_sleep_time = 1 | |
| def generate_response(history): | |
| history.append( | |
| ChatMessage( | |
| role="user", content="What is the weather in San Francisco right now?" | |
| ) | |
| ) | |
| yield history | |
| time.sleep(sleep_time) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="In order to find the current weather in San Francisco, I will need to use my weather tool.", | |
| ) | |
| ) | |
| yield history | |
| time.sleep(sleep_time) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="", | |
| metadata={"title": "Gathering Weather Websites", "id": 1}, | |
| ) | |
| ) | |
| yield history | |
| time.sleep(long_sleep_time) | |
| history[-1].content = "Will check: weather.com and sunny.org" | |
| yield history | |
| time.sleep(sleep_time) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="Received weather from weather.com.", | |
| metadata={"title": "API Success ✅", "parent_id": 1, "id": 2}, | |
| ) | |
| ) | |
| yield history | |
| time.sleep(sleep_time) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="API Error when connecting to sunny.org.", | |
| metadata={"title": "API Error 💥 ", "parent_id": 1, "id": 3}, | |
| ) | |
| ) | |
| yield history | |
| time.sleep(sleep_time) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="I will try yet again", | |
| metadata={"title": "I will try again", "id": 4, "parent_id": 3}, | |
| ) | |
| ) | |
| yield history | |
| time.sleep(sleep_time) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="Failed again", | |
| metadata={"title": "Failed again", "id": 6, "parent_id": 4}, | |
| ) | |
| ) | |
| yield history | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="Failed again", | |
| metadata={"title": "Failed again", "id": 7, "parent_id": 1}, | |
| ) | |
| ) | |
| yield history | |
| with gr.Blocks() as demo: | |
| chatbot = gr.Chatbot(type="messages", height=500, show_copy_button=True) | |
| demo.load(generate_response, chatbot, chatbot) | |
| if __name__ == "__main__": | |
| demo.launch() | |