File size: 1,591 Bytes
02cfbd9
 
f8a0c51
02cfbd9
 
f8a0c51
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from Ars.core import r
from Ars.repositories import create_boost_suggestions,create_breakdown_by_domain,create_flagged_risk_areas,create_user_resilience
from fastapi import UploadFile
from Ars.ai_functions import resume_analysis,calculate_automation_risk,calculate_Ai_collab_readiness,calculate_skill_depth,generate_boost_suggestion,generate_domain_breakdown,generate_flagged_risk_areas
from Ars.objects import AICollabReadiness,SkillDepthResult,AutomationRiskResult 
async def resilience_analysis(file:UploadFile):
    resume= await resume_analysis(file)
    risk = calculate_automation_risk(resume)
    risk = AutomationRiskResult(**risk.model_dump())
    skill_depth =  calculate_skill_depth(resume)
    skill_depth= SkillDepthResult(**skill_depth.model_dump())
    ai_readiness = calculate_Ai_collab_readiness(resume)
    ai_readiness = AICollabReadiness(**ai_readiness.model_dump())
    ResilienceScore = ((1-(risk.result/100))*0.5+(skill_depth.result/100)*0.3+(ai_readiness.result/100)*0.2)
    flagged_risk =generate_flagged_risk_areas(resume=resume,skil_depth=skill_depth,risk=risk,ai_readiness=ai_readiness)
    boost_suggestion = generate_boost_suggestion(resume=resume,skil_depth=skill_depth,risk=risk,ai_readiness=ai_readiness)
    domain_breakdown = generate_domain_breakdown(resume=resume,skil_depth=skill_depth,risk=risk,ai_readiness=ai_readiness)

    return {"overall score": ResilienceScore,"flagged Risk": flagged_risk,"boost suggestion":boost_suggestion,"domain breakdown":domain_breakdown,"resume":resume,"skil_depth":skill_depth,"risk":risk,"ai_readiness":ai_readiness}