AdaptiveEngineService / app /schemas /jd_extract_schema.py
Gaykar's picture
removed errror
308b497
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"
)