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()