Job Description Models
job
Data models for job descriptions.
This module defines models for representing job descriptions in both text-based and structured formats.
Attributes
JobDescription
module-attribute
Union type representing either text-based or structured job descriptions.
Scorers accept both formats and will normalize them internally.
Classes
JobDescriptionText
Bases: BaseModel
Text-based job description.
Used when you have raw job description text without structured extraction. The scorer will extract keywords and create a basic structure automatically.
Attributes:
| Name | Type | Description |
|---|---|---|
text |
str
|
Full text of the job description. |
keywords |
list[str]
|
Optional list of keywords to prioritize. If not provided, keywords will be extracted from the text automatically. |
JobDescriptionStructured
Bases: BaseModel
Structured job description with explicit requirements.
Provides a detailed breakdown of job requirements for more accurate scoring. All fields are optional, but providing more information leads to better scoring.
Attributes:
| Name | Type | Description |
|---|---|---|
title |
str | None
|
Job title or position name. |
required_skills |
list[str]
|
List of skills that are mandatory for the position. |
preferred_skills |
list[str]
|
List of skills that are nice-to-have but not required. |
required_experience_years |
float | None
|
Minimum years of experience required (as float). |
required_education |
str | None
|
Educational requirement (e.g., "Bachelor's degree"). |
required_certifications |
list[str]
|
List of required certifications. |
location |
str | None
|
Job location (city, state, country, or full address). |
description |
str | None
|
Full job description text. |
keywords |
list[str]
|
List of important keywords from the job description. |