AB09 commited on
Commit
fbe2530
·
verified ·
1 Parent(s): 5b828ef

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +60 -0
  2. requirements.txt +4 -0
app.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import google.generativeai as genai
3
+ import os
4
+ import PyPDF2 as pdf
5
+ from dotenv import load_dotenv
6
+ import json
7
+
8
+ load_dotenv() ## load all our environment variables
9
+
10
+ genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
11
+
12
+ def get_gemini_repsonse(input):
13
+ model=genai.GenerativeModel('gemini-pro')
14
+ response=model.generate_content(input)
15
+ return response.text
16
+
17
+ def input_pdf_text(uploaded_file):
18
+ reader=pdf.PdfReader(uploaded_file)
19
+ text=""
20
+ for page in range(len(reader.pages)):
21
+ page=reader.pages[page]
22
+ text+=str(page.extract_text())
23
+ return text
24
+
25
+ #Prompt Template
26
+
27
+ input_prompt="""
28
+ Hey Act Like a skilled or very experience ATS(Application Tracking System)
29
+ with a deep understanding of tech field,software engineering,data science ,data analyst
30
+ and machine learning engineer. Your task is to evaluate the resume based on the given job description.
31
+ You must consider the job market is very competitive and you should provide
32
+ best assistance for improving thr resumes. Assign the percentage Matching based
33
+ on Jd and
34
+ the missing keywords with high accuracy
35
+ resume:{text}
36
+ description:{jd}
37
+
38
+ I want the response in one single string having the structure
39
+ {{"JD Match":"%","MissingKeywords:[]","Profile Summary":""}}
40
+ """
41
+
42
+ ## streamlit app
43
+ st.title("Smart ATS")
44
+ st.text("Improve Your Resume ATS")
45
+ jd=st.text_area("Paste the Job Description")
46
+ uploaded_file=st.file_uploader("Upload Your Resume",type="pdf",help="Please uplaod the pdf")
47
+
48
+ if uploaded_file is not None:
49
+ st.write("PDF Uploaded Successfully")
50
+
51
+ submit = st.button("Submit")
52
+
53
+ if submit:
54
+ if uploaded_file is not None:
55
+ text=input_pdf_text(uploaded_file)
56
+ response=get_gemini_repsonse(input_prompt)
57
+ st.subheader(response)
58
+
59
+
60
+ ### To run the file - streamlit run app.py
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ streamlit
2
+ google.generativeai
3
+ PyPDF2
4
+ python-dotenv