Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel | |
| from typing import List, Optional, Dict, Any | |
| class Candidate(BaseModel): | |
| id: str | |
| name: str | |
| email: Optional[str] = None | |
| skills: Optional[str] = None | |
| experience: Optional[str] = None | |
| projects: Optional[str] = None | |
| education: Optional[str] = None | |
| resume_text: Optional[str] = None | |
| data: Optional[Dict[str, Any]] = None | |
| class NormalizedCandidate(BaseModel): | |
| candidate_id: str | |
| name: str | |
| normalized_title: str | |
| experience_years: float | |
| primary_skills: List[str] | |
| secondary_skills: List[str] | |
| backend_score: float | |
| frontend_score: float | |
| cloud_score: float | |
| database_score: float | |
| notice_period_days: int | |
| location: str | |
| employment_status: str | |
| salary_expectation: str | |
| flags: List[str] | |
| class RerankResult(BaseModel): | |
| candidate_id: str | |
| scores: Dict[str, float] | |
| final_score: float | |
| decision: str | |
| class DeepReview(BaseModel): | |
| candidate_id: str | |
| verdict: str | |
| why: str | |
| strengths: List[str] | |
| risks: List[str] | |
| hidden_signal: str | |
| confidence: float | |
| class FinalRank(BaseModel): | |
| rank: int | |
| candidate_id: str | |
| name: str | |
| decision: str | |
| reason: str | |
| class FinalShortlist(BaseModel): | |
| final_ranking: List[FinalRank] | |
| class EvaluationRequest(BaseModel): | |
| jd: str | |
| candidates: List[Candidate] | |
| class EvaluationResponse(BaseModel): | |
| shortlist: List[FinalRank] | |
| details: Dict[str, Any] | |