cjzhi98's picture
Update app.py
3591a02 verified
import os
from dataset_loader import load_dataset
if not os.path.isdir("jlc_chatbot_data"):
load_dataset()
from jlc_chatbot_data.utils import run_conversation
import streamlit as st
import traceback
st.set_page_config(page_title="Facility Management Chatbot", page_icon=":robot:")
if "messages" not in st.session_state:
st.session_state.messages = [
{"role": "assistant", "content": "How may I help you?"}
]
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.write(message["content"])
if prompt := st.chat_input():
st.session_state.messages.append({"role": "user", "content": prompt})
with st.chat_message("user"):
st.write(prompt)
if st.session_state.messages[-1]["role"] != "assistant":
try:
with st.chat_message("assistant"):
with st.spinner("Thinking..."):
answer = run_conversation(st.session_state.messages, prompt)
st.write(answer.replace("\n", " \n"))
message = {"role": "assistant", "content": answer}
st.session_state.messages.append(message)
except:
st.error("An error occurred. Please try again.")
traceback.print_exc()