import json import logging from logging import Logger from logging.handlers import SysLogHandler import streamlit as st from utils import get_answer, get_context, load_engine if ("syslog" not in st.session_state) and ("logger" not in st.session_state): syslog = SysLogHandler( address=(st.secrets["logging_address"], int(st.secrets["logging_port"])) ) logger = logging.getLogger() logger.setLevel(logging.INFO) logger.addHandler(syslog) st.session_state["syslog"] = syslog st.session_state["logger"] = logger with st.spinner( text="Ciao Giuseppe! Sto preparando il necessario per rispondere alle tue domande personali..." ): engine = load_engine() context = get_context() st.title("Le risposte alle tue domande personali") input = st.text_input("Scrivi una domanda in italiano e comparirà la risposta!") if input: try: answer = get_answer(input, context, engine) st.subheader(answer) st.session_state["logger"].info(f"{input} {answer}") except: st.error( "Qualcosa é andato storto. Prova di nuovo con un'altra domanda magari!" )