Papireddy's picture
Upload 3 files
1c39b88
from dotenv import load_dotenv
import streamlit as st
from pdf2image import convert_from_bytes
import os
import google.generativeai as genai
from PIL import Image
load_dotenv()
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
def get_gemini_response(input,image,query=None):
model = genai.GenerativeModel("gemini-pro-vision")
if query is not None:
response = model.generate_content([input,image,query])
else:
response = model.generate_content([input,image])
return response.text
def input_resumedata(uploaded_file):
if uploaded_file is not None:
pdf_bytes = uploaded_file.read()
images = convert_from_bytes(pdf_bytes, first_page=1, last_page=1)
return images[0]
else:
raise FileNotFoundError("No file uploaded")
st.set_page_config(page_title="Resume Data Extractor")
st.header("Resume Data")
uploaded_file = st.file_uploader("Choose a file...", type=["pdf"])
image_data = None
if uploaded_file is not None:
image_data = input_resumedata(uploaded_file)
st.image(image_data, caption='Resume', use_column_width=True)
query = st.text_input(label="What details you want from the resume?")
query_button = st.button("Get Answer")
submit = st.button("Extract all data")
input_prompt = """
You are a resume analyzer. You have to extract the data from the resume image.
You will have to answer the questions based on the input resume image.
"""
if submit and image_data is not None:
response = get_gemini_response(input_prompt,image_data)
st.subheader("The response is:")
st.write(response)
if query_button and image_data is not None:
response = get_gemini_response(input_prompt,image_data, query)
st.subheader("The response is:")
st.write(response)