resume_screener / app.py
Nicole Hye Won Hwang
first commit
e512bc9
import streamlit as st
import utils as u
import uuid
if 'unique_id' not in st.session_state:
st.session_state['unique_id'] = ''
if 'PINECONE_API_KEY' not in st.session_state:
st.session_state['PINECONE_API_KEY'] = ''
def main():
st.set_page_config(page_title="Resume Screening Assistance")
st.title("HR - Resume Screening Assistance...πŸ’ ")
st.subheader("I can help you in resume screening process")
st.sidebar.title("πŸ˜ŽπŸ—οΈ")
st.session_state['PINECONE_API_KEY']= st.sidebar.text_input("What's your Pinecone API key?",type="password")
job_description = st.text_area("Please paste JOB DESCRIPTION here...", key='1')
document_count = st.text_input("Number of RESUMES to return", key='2')
pdf = st.file_uploader("Upload resumes HERE, only pdfs allowed", type=['pdf'],accept_multiple_files=True)
submit = st.button("Help me with the analysis")
if submit:
if not st.session_state['PINECONE_API_KEY']: st.error("Please input Pinecone API KEY")
with st.spinner("Waiting to fetch resumes..."):
st.session_state['unique_id'] = uuid.uuid4().hex
final_docs_list = u.create_docs(pdf, st.session_state['unique_id'])
st.write("*Resumes uploaded* :"+str(len(final_docs_list)))
embedder = u.initiate_embedder()
index = u.push_to_pinecone(st.session_state['PINECONE_API_KEY'], 'resume-screener',embedder,final_docs_list)
relevant_docs = u.get_similar_docs(st.session_state['PINECONE_API_KEY'], 'resume-screener',embedder,job_description,st.session_state['unique_id'], document_count,)
st.write(":heavy_minus_sign:" * 30)
for item in range(len(relevant_docs)):
st.subheader("πŸ‘‰ "+str(item+1))
st.write("**File** : "+relevant_docs[item][0].metadata['name'])
with st.expander('Show me πŸ‘€'):
st.info("**Match Score** : "+str(relevant_docs[item][1]))
summary = u.get_summary(relevant_docs[item][0])
st.write("**Summary** : "+summary)
st.success('Hope I was able to save your time!!')
if __name__ == '__main__':
main()