File size: 1,551 Bytes
3a66a27 43dad90 1c5a2c6 4025e7c aa9dedc b3290b7 aa9dedc 3c44f18 9b13e73 3c44f18 aa9dedc a83414f aa9dedc 1c5a2c6 cf012cb fc43010 3a66a27 b3290b7 43dad90 4025e7c cd43b43 4025e7c 7dc69fc 4025e7c aa9dedc 4025e7c 0c9f179 8557bb7 3c44f18 b3290b7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
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()
|