Hiring_agent / app.py
Shaikmohdhuz's picture
Simple Change
6376e52
import gradio as gr
from agent import HiringAgent
# Initialize the hiring agent
hiring_agent = HiringAgent()
def analyze_candidate(resume_url, github_url, job_description, company_info):
try:
result = hiring_agent.analyze_candidate(resume_url, github_url, job_description, company_info)
return result['assessment']
except Exception as e:
return f"Error analyzing candidate: {str(e)}"
# Create a simple Gradio Interface
with gr.Blocks(theme=gr.themes.Soft()) as app:
gr.Markdown("""
# πŸ€– AgentPro Hiring Assistant
Upload candidate details and get a detailed assessment for your hiring process.
""")
with gr.Row():
with gr.Column(scale=1):
gr.Markdown("### πŸ“ Candidate Information")
resume_url = gr.Textbox(
label="Resume URL",
placeholder="Enter Google Drive URL of the resume",
info="Paste the Google Drive URL of the candidate's resume"
)
github_url = gr.Textbox(
label="GitHub Profile",
placeholder="Enter GitHub profile URL",
info="Paste the candidate's GitHub profile URL"
)
gr.Markdown("### 🏒 Job & Company Details")
job_description = gr.Textbox(
label="Job Description",
placeholder="Enter the job description",
lines=5,
info="Describe the role and requirements"
)
company_info = gr.Textbox(
label="Company Information",
placeholder="Enter company details and culture",
lines=3,
info="Describe the company culture and environment"
)
analyze_btn = gr.Button("Analyze Candidate", variant="primary")
with gr.Column(scale=2):
gr.Markdown("### πŸ“Š Assessment Results")
output = gr.Markdown()
# Add example inputs
gr.Markdown("### πŸ’‘ Example Inputs")
gr.Examples(
examples=[
[
"https://drive.google.com/example-resume.pdf",
"https://github.com/example-user",
"Looking for a Senior Python Developer with 5+ years of experience in web development, machine learning, and cloud technologies. Must have strong problem-solving skills and experience with agile methodologies.",
"Tech startup focused on AI solutions, fast-paced environment, collaborative culture, emphasis on innovation and continuous learning."
]
],
inputs=[resume_url, github_url, job_description, company_info],
outputs=[output],
fn=analyze_candidate,
cache_examples=True
)
# Add footer
gr.Markdown("""
---
*Powered by AgentPro - An AI-powered hiring assistant*
""")
# Connect the analyze button
analyze_btn.click(
fn=analyze_candidate,
inputs=[resume_url, github_url, job_description, company_info],
outputs=[output]
)
# Launch the app
app.launch(share=True)