File size: 988 Bytes
3856f78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from pydantic import BaseModel
from typing import List, Optional, Dict, Any

class SourcingRequest(BaseModel):
    job_description: str
    location: Optional[str] = None
    max_candidates: int = 10
    batch_size: Optional[int] = 5

class CandidateProfile(BaseModel):
    name: str
    headline: str
    location: str
    profile_url: str
    company: Optional[str] = None
    education: Optional[str] = None
    experience_summary: Optional[str] = None

class ScoreBreakdown(BaseModel):
    education_score: float
    career_trajectory_score: float
    company_relevance_score: float
    experience_match_score: float
    location_score: float
    tenure_score: float
    total_score: float

class CandidateWithScore(BaseModel):
    profile: CandidateProfile
    score_breakdown: ScoreBreakdown
    outreach_message: Optional[str] = None

class SourcingResponse(BaseModel):
    candidates: List[CandidateWithScore]
    total_found: int
    search_query: str
    processing_time: float