File size: 1,807 Bytes
5b606c2
 
 
 
 
 
80e05ba
5b606c2
d9f6306
39481a2
5b606c2
 
 
 
 
 
 
 
 
 
 
 
d9f6306
946344c
d9f6306
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5b606c2
 
983e64f
5b606c2
 
 
946344c
 
 
d9f6306
946344c
d9f6306
946344c
d9f6306
 
 
946344c
2a17195
946344c
 
1fcc4fb
946344c
 
 
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
56
57
58
59
60
61
62
63
import streamlit as st
import google.generativeai as genai
import os
import PyPDF2 as pdf
import json

genai.configure(api_key=os.environ['GOOGLE_API_KEY'])

def get_gemini_repsonse(input):
    model=genai.GenerativeModel('gemini-2.5-pro')
    response=model.generate_content(input)
    return response.text

def input_pdf_text(uploaded_file):
    reader=pdf.PdfReader(uploaded_file)
    text=""
    for page in range(len(reader.pages)):
        page=reader.pages[page]
        text+=str(page.extract_text())
    return text


#Prompt Template

input_prompt="""
Hey Act Like a skilled or very experience ATS(Application Tracking System)
with a deep understanding of tech field,software engineering,data science ,data analyst
and big data engineer. Your task is to evaluate the resume based on the given job description.
You must consider the job market is very competitive and you should provide 
best assistance for improving thr resumes. Assign the percentage Matching based 
on Jd and the missing keywords with high accuracy
resume:{text}
description:{jd}

I want the response in one single string having the structure
{{"JD Match":"%",
"MissingKeywords:[]",
"Profile Summary":""}}
"""

## streamlit app
st.header("🎊 Smart Resume ATS πŸ“‘πŸ«°")
jd=st.text_area("Paste the Job Description")
uploaded_file=st.file_uploader("Upload Your Resume",type="pdf",help="Please uplaod the pdf")

if uploaded_file is not None:
    st.write("PDF Uploaded Successfully")

submit = st.button("Submit")

if submit:
    if uploaded_file is not None:
        text=input_pdf_text(uploaded_file)
        response=get_gemini_repsonse(input_prompt)
        st.subheader(response)


footer = """
---
#### Made By [Surat Banerjee](https://www.linkedin.com/in/surat-banerjee/)  
"""

st.markdown(footer, unsafe_allow_html=True)