Files
RekomenciBackend/src/template_project/ml/interactors/predict_salary.py
T

40 lines
1007 B
Python

from decimal import Decimal
from template_project.application.common.data_structure import to_data_structure
from template_project.application.common.interactor import to_interactor
from template_project.application.resume.entity import ResumeId
@to_data_structure
class VacancyInput:
vacancy_id: str
from_salary: Decimal
to_salary: Decimal
key_skills: list[str]
resume_similarity: float
@to_data_structure
class PredictSalaryRequest:
resume_id: ResumeId
key_skills: list[str]
vacancies: list[VacancyInput]
@to_data_structure
class PredictSalaryResponse:
salary_from: Decimal
salary_to: Decimal
recommended_skills: list[str]
@to_interactor
class PredictSalaryInteractor:
async def execute(self, request: PredictSalaryRequest) -> PredictSalaryResponse:
return PredictSalaryResponse(
salary_from=Decimal("50000"),
salary_to=Decimal("80000"),
recommended_skills=["python", "django", "postgresql"],
)