Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from gradio import ChatMessage | |
| import time | |
| def generate_response(history): | |
| history.append( | |
| ChatMessage( | |
| role="user", content="What is the weather in San Francisco right now?" | |
| ) | |
| ) | |
| yield history | |
| time.sleep(0.25) | |
| 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(0.25) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="API Error when connecting to weather service.", | |
| metadata={"title": "💥 Error using tool 'Weather'"}, | |
| ) | |
| ) | |
| yield history | |
| time.sleep(0.25) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="I will try again", | |
| ) | |
| ) | |
| yield history | |
| time.sleep(0.25) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="Weather 72 degrees Fahrenheit with 20% chance of rain.", | |
| metadata={"title": "🛠️ Used tool 'Weather'"}, | |
| ) | |
| ) | |
| yield history | |
| time.sleep(0.25) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="Now that the API succeeded I can complete my task.", | |
| ) | |
| ) | |
| yield history | |
| time.sleep(0.25) | |
| history.append( | |
| ChatMessage( | |
| role="assistant", | |
| content="It's a sunny day in San Francisco with a current temperature of 72 degrees Fahrenheit and a 20% chance of rain. Enjoy the weather!", | |
| ) | |
| ) | |
| yield history | |
| def like(evt: gr.LikeData): | |
| print("User liked the response") | |
| print(evt.index, evt.liked, evt.value) | |
| with gr.Blocks() as demo: | |
| chatbot = gr.Chatbot(type="messages", height=500, show_copy_button=True) | |
| button = gr.Button("Get San Francisco Weather") | |
| button.click(generate_response, chatbot, chatbot) | |
| chatbot.like(like) | |
| if __name__ == "__main__": | |
| demo.launch() | |