Spaces:
Sleeping
Sleeping
| 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 |