Spaces:
Sleeping
Sleeping
File size: 2,874 Bytes
2758618 7fed6bf 2758618 7fed6bf 2758618 0264cca b51cd1c 2758618 7fed6bf 2758618 b51cd1c 2758618 |
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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
import gradio as gr
# from embeddings import rank_jobs
# Function to wrap the existing rank_resume
def process_input(job_description, *resumes):
print("[JOB DESC]", job_description)
print("[RESUMES]", resumes)
resumes = [r for r in resumes if r and r.strip() != ""] # Remove empty
if not job_description.strip() or not resumes:
return "Please provide both resume and at least one job description."
results = zip(*rank_jobs(job_description, resumes))
formatted_output = ""
for i, (resume, score) in enumerate(results, 1):
formatted_output += f"Job #{i}:\nScore: {score:.2f}\nJob Description Snippet: {resume[:200]}...\n\n-------\n\n"
return formatted_output
# resumes = [
# ]
def add_resume_count(*resumes):
resumes = [r for r in resumes if r and r.strip() != ""]
resumes.append("")
print('[RESUMES]', resumes)
return resumes
# UI definition
with gr.Blocks() as demo:
gr.Markdown("## π Job Suggestion")
resumes_list = []
with gr.Row():
resume_count = gr.State([
"", ""
])
with gr.Column():
@gr.render(inputs=resume_count)
def render_count(count):
# print("[COUNT]", count)
# print("[RESUME LIST]", resumes_list)
for i in range(len(count)):
resume_input = gr.Textbox(
lines=6,
placeholder=f"Paste job description #{i+1} here...",
label=f"Job #{i+1}",
value=count[i]
)
resumes_list.append(resume_input)
submit_btn.click(
fn=process_input,
inputs=[job_description] + resumes_list,
outputs=output
)
add_resume_btn.click(add_resume_count, resumes_list, resume_count)
# @gr.render(inputs=input_text)
# def add_resume():
# new_input = gr.Textbox(
# lines=6,
# placeholder=f"Paste resume #{len(resumes_list)+1} here...",
# label=f"Resume #{len(resumes_list)+1}"
# )
# resumes_list.append(new_input)
# return resumes_group.update(visible=True)
add_resume_btn = gr.Button("β Add Job Description")
with gr.Column():
job_description = gr.Textbox(
lines=8,
placeholder="Paste Job Description here...",
label="Job Description"
)
output = gr.Textbox(
lines=10,
label="Job Suggestion Result",
interactive=False
)
submit_btn = gr.Button("π Job Suggestion")
demo.launch()
|