Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, Field | |
| from typing import List, Optional | |
| class SkillRequirement(BaseModel): | |
| name: str = Field( | |
| ..., | |
| description="Skill or technology required for the job (e.g., Python, SQL, React)" | |
| ) | |
| level: Optional[str] = Field( | |
| None, | |
| description="Expected proficiency level: beginner | intermediate | strong" | |
| ) | |
| class ResponsibilityItem(BaseModel): | |
| description: str = Field( | |
| ..., | |
| description="Key responsibility or task expected from the candidate" | |
| ) | |
| class RequirementItem(BaseModel): | |
| description: str = Field( | |
| ..., | |
| description="Qualification or requirement such as education, availability, etc." | |
| ) | |
| class JobDescriptionExtract(BaseModel): | |
| job_title: Optional[str] = Field( | |
| None, | |
| description="Job role/title (e.g., AI/ML Intern, Web Developer)" | |
| ) | |
| company_name: Optional[str] = Field( | |
| None, | |
| description="Company offering the job" | |
| ) | |
| skills_required: Optional[List[SkillRequirement]] = Field( | |
| None, | |
| description="List of required skills and expected levels" | |
| ) | |
| responsibilities: Optional[List[ResponsibilityItem]] = Field( | |
| None, | |
| description="Key job responsibilities" | |
| ) | |
| tools_technologies: Optional[List[str]] = Field( | |
| None, | |
| description="Specific tools/frameworks mentioned (e.g., Pandas, WordPress)" | |
| ) | |
| requirements: Optional[List[RequirementItem]] = Field( | |
| None, | |
| description="General requirements like availability, qualifications" | |
| ) | |