server / app.py
vericudebuget's picture
Update app.py
fe472d7 verified
raw
history blame
1.09 kB
import gradio as gr
from datetime import datetime
import time
# Shared state to store messages
messages = []
def chat(message, history):
global messages
# Add the new message to the shared state
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
messages.append(f"[{timestamp}] {message}")
# Return the updated chat history
return "", messages
def get_updates(history):
global messages
# Check if there are new messages
if len(messages) > len(history):
return messages
# If no new messages, return the current history
return history
# Create the Gradio interface
with gr.Blocks() as demo:
chatbot = gr.Chatbot(label="Chat History")
msg = gr.Textbox(label="Type your message here")
clear = gr.Button("Clear")
msg.submit(chat, [msg, chatbot], [msg, chatbot])
clear.click(lambda: [], outputs=[chatbot])
# Add an update function that runs every second
demo.load(get_updates, inputs=chatbot, outputs=chatbot, every=1)
# Launch the app
if __name__ == "__main__":
demo.launch()