Spaces:
Running
Running
import gradio as gr | |
import fitz # PyMuPDF | |
from models import evaluate_with_gpt, evaluate_with_gemma, evaluate_with_bloom, evaluate_with_jabir, evaluate_with_llama ,evaluate_with_qwen | |
def extract_text_from_pdf(pdf_file): | |
document = fitz.open(pdf_file) | |
text = "" | |
for page_num in range(len(document)): | |
page = document.load_page(page_num) | |
text += page.get_text() | |
return text | |
def evaluate_all_models(pdf_file, job_description): | |
resume_text = extract_text_from_pdf(pdf_file) | |
gpt_result = evaluate_with_gpt(resume_text, job_description) | |
gemma_result = evaluate_with_gemma(resume_text, job_description) | |
bloom_result = evaluate_with_bloom(resume_text, job_description) | |
jabir_result = evaluate_with_jabir(resume_text, job_description) | |
llama_result = evaluate_with_llama(resume_text, job_description) | |
qwen_result=evaluate_with_qwen(resume_text, job_description) | |
return f"GPT-4o Result:\n{gpt_result}\n\nGemma Result:\n{gemma_result}\n\nBloom Result:\n{bloom_result}\n\nJabir Result:\n{jabir_result}\n\nLlama Result:\n{llama_result}\n\nqwen_result:\n{qwen_result}" | |
import gradio as gr | |
from models import evaluate_with_gpt, evaluate_with_gemma, evaluate_with_bloom, evaluate_with_jabir, evaluate_with_llama,evaluate_with_qwen | |
def evaluate_multiple_resumes(resume_texts, job_description, model): | |
results = [] | |
for resume_text in resume_texts.split("\n\n"): # Assuming each resume text is separated by two newlines | |
if model == "GPT-4o": | |
result = evaluate_with_gpt(resume_text, job_description) | |
elif model == "Gemma": | |
result = evaluate_with_gemma(resume_text, job_description) | |
elif model == "Bloom": | |
result = evaluate_with_bloom(resume_text, job_description) | |
elif model == "jabir": | |
result = evaluate_with_jabir(resume_text, job_description) | |
elif model == "llama": | |
result = evaluate_with_llama(resume_text, job_description) | |
elif model=="qwen": | |
evaluate_with_qwen(resume_text, job_description) | |
else: | |
gpt_result = evaluate_with_gpt(resume_text, job_description) | |
gemma_result = evaluate_with_gemma(resume_text, job_description) | |
bloom_result = evaluate_with_bloom(resume_text, job_description) | |
jabir_result = evaluate_with_jabir(resume_text, job_description) | |
llama_result = evaluate_with_llama(resume_text, job_description) | |
qwen_result=evaluate_with_qwen(resume_text, job_description) | |
result = f"GPT-4o Result:\n{gpt_result}\n\nGemma Result:\n{gemma_result}\n\nBloom Result:\n{bloom_result}\n\nJabir Result:\n{jabir_result}\n\nLlama Result:\n{llama_result}\n\nqwen_result:\n{qwen_result}" | |
results.append(f"Result for Resume:\n{result}\n\n") | |
return "\n".join(results) | |
iface = gr.Interface( | |
fn=evaluate_multiple_resumes, | |
inputs=[ | |
gr.Textbox(lines=20, label="Paste Resumes (separate multiple resumes by two newlines)"), | |
gr.Textbox(lines=10, label="Job Description"), | |
gr.Radio(choices=["GPT-4o", "Gemma", "Bloom", "jabir", "llama", "qwen","All"], label="Choose Model") | |
], | |
outputs="text", | |
title="Multiple Resume Evaluator" | |
) | |
iface.launch() | |