Resume_Analyser / app.py
Samay42's picture
Create app.py
63c0ac7 verified
raw
history blame
2.1 kB
import streamlit as st
import google.generativeai as gemini_pro
import pandas as pd
from io import StringIO
# Initialize Google Generative AI Gemini-pro model
gemini_pro.initialize(api_key='YOUR_GOOGLE_API_KEY')
def analyze_resume(resume_text):
# Using the Gemini-pro model to analyze the resume
response = gemini_pro.analyze_text(resume_text)
return response
def extract_skills(resume_text):
# Extract skills from resume text
response = gemini_pro.extract_entities(resume_text, entity_type='skills')
skills = [entity['text'] for entity in response['entities']]
return skills
def match_job_description(resume_text, job_description):
# Match resume with job description
response = gemini_pro.compare_texts(resume_text, job_description)
score = response['similarity_score']
return score
# Streamlit application layout
st.title('Resume Analyzer for Recruiters')
st.header('Upload Resume')
uploaded_file = st.file_uploader('Choose a file', type=['pdf', 'docx', 'txt'])
if uploaded_file is not None:
# Extract text from uploaded file
stringio = StringIO(uploaded_file.getvalue().decode("utf-8"))
resume_text = stringio.read()
st.subheader('Resume Text')
st.write(resume_text)
st.subheader('Analyze Resume')
if st.button('Analyze'):
analysis_result = analyze_resume(resume_text)
st.write('Analysis Result:', analysis_result)
st.subheader('Extract Skills')
if st.button('Extract Skills'):
skills = extract_skills(resume_text)
st.write('Skills:', skills)
st.subheader('Match with Job Description')
job_description = st.text_area('Enter Job Description')
if st.button('Match'):
score = match_job_description(resume_text, job_description)
st.write('Match Score:', score)
st.sidebar.header('About')
st.sidebar.write("""
This application uses the Google Generative AI Gemini-pro model to analyze resumes, extract key skills, and match resumes with job descriptions. It helps recruiters quickly evaluate candidates and streamline the recruitment process.
""")