Spaces:
Sleeping
Sleeping
File size: 2,976 Bytes
58ce706 115011f 58ce706 2f471d8 58ce706 |
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 |
import gradio as gr
from modules.kyc_processor import extract_text_from_id
from modules.profile_matcher import match_profiles
from modules.interview_scheduler import suggest_slots
from modules.onboarding_trainer import generate_quiz
from modules.performance_tracker import analyze_performance
from modules.agent_motivation import personalized_nudge
def run_kyc(image):
return extract_text_from_id(image)
def run_profile_match(resume, job_role):
return match_profiles(resume, job_role)
def run_schedule(availability):
return suggest_slots(eval(availability)) # input as a dict
def run_quiz(topic):
return generate_quiz(topic)
def run_performance(agent_data):
try:
agents = eval(agent_data)
return "\n".join(analyze_performance(agents))
except:
return "Invalid data format. Use: [{'name': 'A', 'sales': 5}, ...]"
def run_motivation(name, goal):
return personalized_nudge(name, goal)
with gr.Blocks(title="Agent Recruitment & Management Suite") as demo:
with gr.Tab("KYC OCR"):
gr.Markdown("### Upload an ID Document for OCR")
image_input = gr.Image(type="filepath")
ocr_output = gr.Textbox(label="Extracted Text")
gr.Button("Extract").click(run_kyc, inputs=image_input, outputs=ocr_output)
with gr.Tab("Agent Profile Matcher"):
gr.Markdown("### Compare Resume with Job Role")
resume_input = gr.Textbox(label="Resume Text")
job_input = gr.Textbox(label="Job Role Description")
match_output = gr.Textbox(label="Match Result")
gr.Button("Check Match").click(run_profile_match, [resume_input, job_input], match_output)
with gr.Tab("Interview Scheduler"):
gr.Markdown("### Suggest Interview Slots")
schedule_input = gr.Textbox(label="Availability Dict (e.g. {'2025-06-21': ['10AM', '2PM']})")
schedule_output = gr.Textbox(label="Suggested Slots")
gr.Button("Suggest").click(run_schedule, schedule_input, schedule_output)
with gr.Tab("Training Quiz"):
gr.Markdown("### Generate Quiz for a Topic")
topic_input = gr.Textbox(label="Training Topic")
quiz_output = gr.JSON(label="Generated Quiz")
gr.Button("Generate Quiz").click(run_quiz, topic_input, quiz_output)
with gr.Tab("Performance Tracker"):
gr.Markdown("### Enter Agent Sales Data")
performance_input = gr.Textbox(label="Agent List (e.g. [{'name': 'A', 'sales': 3}])")
performance_output = gr.Textbox(label="Alerts")
gr.Button("Analyze").click(run_performance, performance_input, performance_output)
with gr.Tab("Motivational Nudge"):
gr.Markdown("### Send Motivation to Agent")
name_input = gr.Textbox(label="Agent Name")
goal_input = gr.Textbox(label="Goal (e.g. 10 meetings)")
nudge_output = gr.Textbox(label="Generated Nudge")
gr.Button("Motivate").click(run_motivation, [name_input, goal_input], nudge_output)
demo.launch()
|