Spaces:
Running
Running
import gradio as gr | |
from controller import ChatbotController | |
controller = ChatbotController() | |
with gr.Blocks() as demo: | |
chat = gr.Chatbot(type="messages", min_height=600, label="Assistant") | |
msg = gr.Textbox(label="Your message", placeholder="Want to know more about Damla’s work? Type your question here...") | |
history_state = gr.State([]) | |
processed_emails_state = gr.State([]) | |
def respond(user_msg, history, recorded_emails_state): | |
history.append({"role":"user", "content":user_msg}) | |
reply, emails = controller.get_response(message=user_msg, history=history, recorded_emails=set(recorded_emails_state)) | |
history.append({"role":"assistant", "content":reply}) | |
return history, history, list(emails) | |
msg.submit(respond, inputs=[msg, history_state, processed_emails_state], outputs=[chat, history_state, processed_emails_state]) | |
msg.submit(lambda: "", None, msg) | |
demo.launch(inbrowser=True) |