Spaces:
Sleeping
Sleeping
File size: 2,011 Bytes
75bc0c6 683d9b9 75bc0c6 ae96c08 75bc0c6 683d9b9 fdd5782 ae96c08 75bc0c6 e777cf2 75bc0c6 683d9b9 cc447f4 683d9b9 75bc0c6 683d9b9 ae96c08 38c866d 683d9b9 75bc0c6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import gradio as gr
import openai
import os
import fitz # PyMuPDF
# Set OpenAI API key
api_key = "sk-1E6ExsyFb-cdU8jPNDP1dsEq_ra_bazU-EXQZQ86pJT3BlbkFJ4zURsV0t--3qNM7A-P57NUqZIBosrL7POwzpjR5EQA"
openai.api_key = api_key
def extract_text_from_pdf(pdf_file):
# Open the PDF file
document = fitz.open(pdf_file)
text = ""
# Extract text from each page
for page_num in range(len(document)):
page = document.load_page(page_num)
text += page.get_text()
return text
def evaluate_resume(pdf_file, job_description):
# Extract text from PDF
resume_text = extract_text_from_pdf(pdf_file)
prompt = f"""به عنوان یک تحلیلگر با تجربه سیستم ردیابی متقاضی (ATS)، نقش شما شامل ارزیابی رزومه در برابر شرح شغل است.
هدف شما تجزیه و تحلیل رزومه بر اساس شرح شغل داده شده است،
یک درصد تطابق را بر اساس معیارهای کلیدی در رزومه و شرح شغل ذکر شده را به دقت تعیین کنید و تعداد کلمات کلیدی گمشده را مشخص کنید.
رزومه:{resume_text}
شرح شغل:{job_description}
من پاسخ را در یک رشته با ساختار زیر می خواهم
{{"تطابق شرح شغل":"%"، "تعداد کلمات کلیدی از دست رفته":""، "تعداد کلمات کلیدی منطبق با هم ":" }}
"""
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
)
return response.choices[0].message['content']
iface = gr.Interface(
fn=evaluate_resume,
inputs=[
gr.File(label="Upload Resume PDF"),
gr.Textbox(lines=10, label="Job Description")
],
outputs="text",
title="Resume Evaluator"
)
iface.launch() |