Spaces:
Sleeping
Sleeping
mehdirabiee
commited on
Commit
•
5e45ce5
1
Parent(s):
204508e
openai key
Browse files- app.py +3 -3
- requirements.txt +1 -0
- 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
|
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 |
-
|
|
|
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 |
|