notes73 commited on
Commit
349d0a2
·
1 Parent(s): 4d9ac50

Fixed OpenAI API issue and added PDF support

Browse files
Files changed (2) hide show
  1. app.py +15 -5
  2. requirements.txt +2 -1
app.py CHANGED
@@ -1,6 +1,7 @@
1
  import streamlit as st
2
  import openai
3
  import os
 
4
 
5
  # Load OpenAI API Key from environment variables
6
  openai.api_key = os.getenv("OPENAI_API_KEY")
@@ -10,20 +11,29 @@ if not openai.api_key:
10
  st.stop()
11
 
12
  st.title("📄 AI-Powered Resume Reviewer")
13
- st.write("Upload your resume, and AI will provide feedback!")
14
 
15
  # File uploader
16
- uploaded_file = st.file_uploader("Upload your resume (TXT or PDF)", type=["txt", "pdf"])
17
 
18
  def extract_text_from_file(uploaded_file):
19
- """Extract text from uploaded file."""
20
  if uploaded_file is not None:
21
- return uploaded_file.read().decode("utf-8")
 
 
 
 
 
 
 
 
 
22
  return ""
23
 
24
  def analyze_resume(resume_text):
25
  """Send resume text to OpenAI for feedback."""
26
- response = openai.client.chat.completions.create(
27
  model="gpt-4",
28
  messages=[{"role": "user", "content": f"Review this resume and provide constructive feedback:\n\n{resume_text}"}]
29
  )
 
1
  import streamlit as st
2
  import openai
3
  import os
4
+ import PyPDF2
5
 
6
  # Load OpenAI API Key from environment variables
7
  openai.api_key = os.getenv("OPENAI_API_KEY")
 
11
  st.stop()
12
 
13
  st.title("📄 AI-Powered Resume Reviewer")
14
+ st.write("Upload your resume (PDF/TXT), and AI will provide feedback!")
15
 
16
  # File uploader
17
+ uploaded_file = st.file_uploader("Upload your resume", type=["txt", "pdf"])
18
 
19
  def extract_text_from_file(uploaded_file):
20
+ """Extract text from uploaded TXT or PDF file."""
21
  if uploaded_file is not None:
22
+ file_extension = uploaded_file.name.split(".")[-1]
23
+
24
+ if file_extension == "txt":
25
+ return uploaded_file.read().decode("utf-8")
26
+
27
+ elif file_extension == "pdf":
28
+ pdf_reader = PyPDF2.PdfReader(uploaded_file)
29
+ text = "\n".join([page.extract_text() for page in pdf_reader.pages if page.extract_text()])
30
+ return text
31
+
32
  return ""
33
 
34
  def analyze_resume(resume_text):
35
  """Send resume text to OpenAI for feedback."""
36
+ response = openai.chat.completions.create(
37
  model="gpt-4",
38
  messages=[{"role": "user", "content": f"Review this resume and provide constructive feedback:\n\n{resume_text}"}]
39
  )
requirements.txt CHANGED
@@ -1,2 +1,3 @@
1
  streamlit
2
- openai>=1.0.0
 
 
1
  streamlit
2
+ openai
3
+ PyPDF2