notes73
Fixed OpenAI API issue and added PDF support
349d0a2
import streamlit as st
import openai
import os
import PyPDF2
# Load OpenAI API Key from environment variables
openai.api_key = os.getenv("OPENAI_API_KEY")
if not openai.api_key:
st.error("⚠️ OpenAI API key is missing! Please add it in Hugging Face secrets.")
st.stop()
st.title("πŸ“„ AI-Powered Resume Reviewer")
st.write("Upload your resume (PDF/TXT), and AI will provide feedback!")
# File uploader
uploaded_file = st.file_uploader("Upload your resume", type=["txt", "pdf"])
def extract_text_from_file(uploaded_file):
"""Extract text from uploaded TXT or PDF file."""
if uploaded_file is not None:
file_extension = uploaded_file.name.split(".")[-1]
if file_extension == "txt":
return uploaded_file.read().decode("utf-8")
elif file_extension == "pdf":
pdf_reader = PyPDF2.PdfReader(uploaded_file)
text = "\n".join([page.extract_text() for page in pdf_reader.pages if page.extract_text()])
return text
return ""
def analyze_resume(resume_text):
"""Send resume text to OpenAI for feedback."""
response = openai.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": f"Review this resume and provide constructive feedback:\n\n{resume_text}"}]
)
return response.choices[0].message.content.strip()
if uploaded_file:
st.write("βœ… **Resume Uploaded Successfully!**")
resume_text = extract_text_from_file(uploaded_file)
if st.button("Analyze Resume"):
with st.spinner("Analyzing... ⏳"):
feedback = analyze_resume(resume_text)
st.subheader("πŸ“Œ AI Feedback:")
st.write(feedback)