Spaces:
Sleeping
Sleeping
File size: 1,609 Bytes
602f88e f0e0d39 308b497 f0e0d39 602f88e | 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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | 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"
)
|