import streamlit as st import os from transformers import pipeline from bardapi import Bard import os from getvalues import getValues from pymongo import MongoClient from streamlit_option_menu import option_menu import pandas as pd if "user" not in st.session_state: st.session_state.user = "Guest" uri = os.environ.get("MONGO_CONNECTION_STRING") conn = MongoClient(uri, tlsCertificateKeyFile="database/cert.pem") db = conn["myapp"] col = db["reminders"] bardkey = os.environ.get("BARD_API_KEY") bard = Bard(token=bardkey) classifi = pipeline(model="facebook/bart-large-mnli") def view_rem(): allrem = list(col.find()) remdata = pd.DataFrame(allrem) st.dataframe(remdata) def chatbot(): st.title("ChatBot") if query := st.chat_input("Enter your message"): ans = classifi(query, candidate_labels=["Reminder", "General Conversation"]) if ans["labels"][0] == "Reminder": values = getValues(query.lower()) with st.chat_message("assistant"): st.write(values) col.insert_one(values) elif ans["labels"][0] == "General Conversation": umsg = bard.get_answer(message)["content"] with st.chat_message("assistant"): st.write(umsg) if st.session_state.user == "Guest": with st.sidebar: selected = option_menu(None, options=["Chatbot", "View Reminders"]) if selected == "Chatbot": chatbot() elif selected == "View Reminders": view_rem()