Reto_2_demo / app.py
sandrocalzada's picture
Update app.py
adb1c6d verified
raw
history blame
1.41 kB
import gradio as gr
def analyze_cv(cv_file, desired_role, expected_salary):
# Definir rangos de salario para diferentes roles (esto es solo un ejemplo)
salary_ranges = {
"Desarrollador": (30000, 60000),
"Dise帽ador": (25000, 50000),
"Gerente": (40000, 80000)
}
# Leer el contenido del CV
with open(cv_file.name, "r", encoding="utf-8") as file:
cv_content = file.read().lower()
# Comprobar si el rol deseado est谩 en el CV
if desired_role.lower() in cv_content:
# Comprobar si el salario esperado est谩 dentro del rango para el rol
salary_range = salary_ranges.get(desired_role, (0, 0))
if salary_range[0] <= int(expected_salary) <= salary_range[1]:
result = "El candidato es elegible para la posici贸n."
else:
result = "El candidato no es elegible debido a las expectativas salariales."
else:
result = "El candidato no es elegible debido a la falta de experiencia relevante."
return result
# Definir la interfaz de Gradio
iface = gr.Interface(
fn=analyze_cv,
inputs=[
gr.inputs.File(label="Sube tu CV"),
gr.inputs.Textbox(label="Nombre del rol o posici贸n deseada"),
gr.inputs.Textbox(label="Salario esperado"),
],
outputs=gr.outputs.Textbox(label="Resultado de la elegibilidad"),
)
# Lanzar la aplicaci贸n
iface.launch()