File size: 1,426 Bytes
3a66a27 43dad90 1c5a2c6 4025e7c aa9dedc b3290b7 aa9dedc a83414f aa9dedc 1c5a2c6 cf012cb fc43010 3a66a27 b3290b7 43dad90 4025e7c cd43b43 4025e7c 7dc69fc 4025e7c aa9dedc 4025e7c 0c9f179 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 |
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
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)
with st.sidebar:
selected = option_menu(None, options=["Chatbot", "View Reminders"])
if selected == "Chatbot":
chatbot()
elif selected == "View Reminders":
view_rem()
|