File size: 1,632 Bytes
6010b14 |
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 |
import streamlit as st
import utils.user_utils as uu
if 'HR_tickets' not in st.session_state:
st.session_state['HR_tickets'] =[]
if 'IT_tickets' not in st.session_state:
st.session_state['IT_tickets'] =[]
if 'Transport_tickets' not in st.session_state:
st.session_state['Transport_tickets'] =[]
if 'PINECONE_API_KEY' not in st.session_state:
st.session_state['PINECONE_API_KEY'] = ''
def main():
st.header("Automatic Ticket Classification Tool")
st.write("We are here to help you. Please ask a question")
user_input = st.text_input("π")
st.sidebar.title("πποΈ")
st.session_state['PINECONE_API_KEY' ]= st.sidebar.text_input("What's your Pinecone API key?",type="password")
if user_input:
embedder = uu.initiate_embedder()
index = uu.pull_from_pinecone(st.session_state['PINECONE_API_KEY'], 'tickets', embedder)
similar_docs = uu.get_similar_docs(index, user_input)
response = uu.get_answer(similar_docs, user_input)
st.write(response)
button = st.button("Submit Ticket?")
if button:
embedded_query = embedder.embed_query(user_input)
department = uu.predict(embedded_query)
st.write("your ticket has been sumbitted to : " + department)
if department == 'HR':
st.session_state['HR_tickets'].append(user_input)
elif department == 'IT':
st.session_state['IT_tickets'].append(user_input)
else:
st.session_state['Transport_tickets'].append(user_input)
if __name__ == '__main__':
main() |