Hi
When I am trying to deploy the below code, getting the following error. How do I resolve the below error?
ModuleNotFoundError: This app has encountered an error. The original error message is redacted to prevent data leaks. Full error details have been recorded in the logs (if you’re on Streamlit Cloud, click on ‘Manage app’ in the lower right of your app).
Code:
from dotenv import load_dotenv
load_dotenv()
import base64
import streamlit as st
import os
import io
from PIL import Image
import pdf2image
import google.generativeai as genai
genai.configure(api_key=os.getenv(“GOOGLE_API_KEY”))
def get_gemini_response(input,pdf_content,prompt):
model = genai.GenerativeModel(“gemini-pro-vision”)
response = model.generate_content([input,pdf_content[0],prompt])
return response.text
def input_pdf_setup(uploaded_file):
if uploaded_file is not None:
images = pdf2image.convert_from_bytes(uploaded_file.read())
first_page = images[0]
img_byte_arr = io.BytesIO()
first_page.save(img_byte_arr, format='JPEG')
img_byte_arr = img_byte_arr.getvalue()
pdf_parts = [
{
"mime_type": "image/jpeg",
"data": base64.b64encode(img_byte_arr).decode() # encode to base64
}
]
return pdf_parts
else:
raise FileNotFoundError("No file uploaded")
st.set_page_config(page_title=“ATS Resume Expert”)
st.header(“ATS Tracking System”)
input_text=st.text_area("Job Description: ",key=“input”)
uploaded_file=st.file_uploader(“Upload your resume(PDF)…”,type=[“pdf”])
if uploaded_file is not None:
st.write(“PDF Uploaded Successfully”)
submit1 = st.button(“Tell Me About the Resume”)
submit2 = st.button(“Percentage match”)
input_prompt1 = “”"
You are an experienced HR with Tech Experience in the field of any one job role from Data Science or Analytics or Product Management or Consulting or Data Analyst
,your task is to review the provided resume against the job description for these profile.
Please share your professional evaluation on whether the candidate’s profile aligns with the role.
Highlight the strengths and weaknesses of the applicant in relation to the specified job requirements.
“”"
input_prompt2 = “”"
You are an skilled ATS (Applicant Tracking System) scanner with a deep understanding of any one job role from Data Science or Analytics or Product Management or Consulting or Data Analyst or ATS functionality,
your task is to evaluate the resume against the provided job description. give me the percentage of match if the resume matches
the job description. First the output should come as percentage and then keywords missing and last final thoughts.
“”"
if submit1:
if uploaded_file is not None:
pdf_content=input_pdf_setup(uploaded_file)
response=get_gemini_response(input_prompt1,pdf_content,input_text)
st.subheader(“The Repsonse is”)
st.write(response)
else:
st.write(“Please uplaod the resume”)
elif submit2:
if uploaded_file is not None:
pdf_content=input_pdf_setup(uploaded_file)
response=get_gemini_response(input_prompt2,pdf_content,input_text)
st.subheader(“The Repsonse is”)
st.write(response)
else:
st.write(“Please uplaod the resume”)