mehdirabiee commited on
Commit
5e45ce5
1 Parent(s): 204508e

openai key

Browse files
Files changed (3) hide show
  1. app.py +3 -3
  2. requirements.txt +1 -0
  3. resume_parser.py +6 -4
app.py CHANGED
@@ -5,15 +5,15 @@ from gradio_pdf import PDF
5
 
6
  import resume_parser
7
 
8
- def parse_resume(pdf):
9
- resume = resume_parser.run(pdf)
10
  if isinstance(resume, resume_parser.Resume):
11
  resume = resume.model_dump_json()
12
  return resume
13
 
14
  demo = gr.Interface(
15
  fn=parse_resume,
16
- inputs=[PDF(label="Upload a PDF", interactive=True)],
17
  outputs=[gr.JSON()],
18
  examples=[[f"samples/{fname}"] for fname in os.listdir("samples") if fname.endswith(".pdf")]
19
  )
 
5
 
6
  import resume_parser
7
 
8
+ def parse_resume(pdf, use_openai=False, openai_key=""):
9
+ resume = resume_parser.run(pdf, use_openai, openai_key)
10
  if isinstance(resume, resume_parser.Resume):
11
  resume = resume.model_dump_json()
12
  return resume
13
 
14
  demo = gr.Interface(
15
  fn=parse_resume,
16
+ inputs=[PDF(label="Upload a PDF", interactive=True), gr.Checkbox(label="Use OpenAI"), gr.Text(label="OpenAI Token")],
17
  outputs=[gr.JSON()],
18
  examples=[[f"samples/{fname}"] for fname in os.listdir("samples") if fname.endswith(".pdf")]
19
  )
requirements.txt CHANGED
@@ -6,4 +6,5 @@ tiktoken
6
  huggingface_hub
7
  langchain
8
  langchain-community
 
9
  python-dotenv
 
6
  huggingface_hub
7
  langchain
8
  langchain-community
9
+ langchain-openai
10
  python-dotenv
resume_parser.py CHANGED
@@ -1,3 +1,4 @@
 
1
  from json import JSONDecodeError
2
 
3
  import PyPDF2
@@ -6,7 +7,7 @@ from dotenv import load_dotenv
6
  from langchain.output_parsers import PydanticOutputParser
7
  from langchain.prompts import PromptTemplate
8
  from langchain_community.callbacks import get_openai_callback
9
- from langchain_community.chat_models import ChatOpenAI
10
  from langchain_community.llms import HuggingFaceEndpoint
11
  from langchain_core.messages import BaseMessage
12
  from pydantic import ValidationError
@@ -148,10 +149,11 @@ def extract_resume_fields(full_text, model):
148
  return output
149
 
150
 
151
- def run(pdf_file_path):
152
- use_openai = False
 
153
  if use_openai:
154
- model = ChatOpenAI(temperature=0, model="gpt-3.5-turbo", max_tokens=2500)
155
  else:
156
  model = HuggingFaceEndpoint(repo_id="mistralai/Mixtral-8x7B-Instruct-v0.1", temperature= 0.001, max_new_tokens=4000)
157
 
 
1
+ import os
2
  from json import JSONDecodeError
3
 
4
  import PyPDF2
 
7
  from langchain.output_parsers import PydanticOutputParser
8
  from langchain.prompts import PromptTemplate
9
  from langchain_community.callbacks import get_openai_callback
10
+ from langchain_openai import ChatOpenAI
11
  from langchain_community.llms import HuggingFaceEndpoint
12
  from langchain_core.messages import BaseMessage
13
  from pydantic import ValidationError
 
149
  return output
150
 
151
 
152
+ def run(pdf_file_path, use_openai=False, openai_key=""):
153
+ if len(openai_key) == 0 and "OPENAI_API_KEY" in os.environ:
154
+ openai_key = os.environ["OPENAI_API_KEY"]
155
  if use_openai:
156
+ model = ChatOpenAI(temperature=0, model="gpt-3.5-turbo", max_tokens=2500, openai_api_key=openai_key)
157
  else:
158
  model = HuggingFaceEndpoint(repo_id="mistralai/Mixtral-8x7B-Instruct-v0.1", temperature= 0.001, max_new_tokens=4000)
159