Spaces:
Sleeping
Sleeping
File size: 2,717 Bytes
92adbc4 2257f5b 9b9d05d 92adbc4 9b9d05d 02f7cad 9b9d05d 92adbc4 9b9d05d 92adbc4 9b9d05d 92adbc4 |
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 |
# -*- coding: utf-8 -*-
"""Untitled27.ipynb
Automatically generated by Colab.
Original file is located at
https://colab.research.google.com/drive/16VnJw-SMttFaPZi8gMJTp4k7YDqL-rP0
"""
import streamlit as st
import os
from resume_generation_gemini_pro import Gemini_pro_main # Import function from your model file
from similarity_score_refined import similarity_main
# Helper function to save uploaded files temporarily and return their paths
def save_uploaded_file(uploaded_file):
# Define the temporary file path
file_path = os.path.join("/tmp", uploaded_file.name)
# Write the uploaded file content to the path
with open(file_path, "wb") as f:
f.write(uploaded_file.getbuffer())
return file_path
# Streamlit UI layout
st.title("Resume Tailoring with Google Generative AI")
st.write("Upload your current resume and a job description to generate a tailored resume.")
# File uploaders for the current resume and job description
uploaded_resume = st.file_uploader("Upload Current Resume (.docx or .pdf)", type=["docx", "pdf"], key="resume")
uploaded_job_description = st.file_uploader("Upload Job Description (.docx or .pdf)", type=["docx", "pdf"], key="job_description")
if uploaded_resume is not None and uploaded_job_description is not None:
# Save both uploaded files and get their paths
resume_path = save_uploaded_file(uploaded_resume)
job_description_path = save_uploaded_file(uploaded_job_description)
st.write(f"Files saved at: {resume_path} and {job_description_path}")
# Button to calculate similarity score
if st.button("Check Similarity Score"):
# Calculate the similarity score between resume and job description using similarity_main
similarity_score = similarity_main(resume_path, job_description_path)
if isinstance(similarity_score, str) and '%' in similarity_score:
similarity_score = float(similarity_score.replace('%', ''))
# Display the similarity score on a slider
st.write("Similarity Score:")
st.slider("Similarity", min_value=0, max_value=100, value=int(similarity_score), format="%d%%")
# Generate tailored resume button
if st.button("Generate Tailored Resume"):
with st.spinner("Generating resume with Google Generative AI..."):
# Call the model function with both file paths
generated_resume = Gemini_pro_main(resume_path, job_description_path) # Assuming this function returns the resume text
# Display the generated tailored resume
st.subheader("Generated Tailored Resume:")
st.write(generated_resume)
else:
st.warning("Please upload both the current resume and job description files.") |