diff --git a/vacancies/main/management/commands/collect_vacancies_from_telegram_messages.py b/vacancies/main/management/commands/collect_vacancies_from_telegram_messages.py index 4f86b42..a4e4595 100644 --- a/vacancies/main/management/commands/collect_vacancies_from_telegram_messages.py +++ b/vacancies/main/management/commands/collect_vacancies_from_telegram_messages.py @@ -42,7 +42,7 @@ class Command(BaseCommand): min_salary_rub: int | None max_salary_rub: int | None - openai_client = ChatOpenAI(model_name="gpt-5-mini", reasoning_effort="minimal", temperature=0, seed=42, top_p=1) + openai_client = ChatOpenAI(model_name="gpt-5-mini", temperature=0, seed=42, top_p=1) structured_llm = openai_client.with_structured_output(Structure) last_timestamp = timezone.now() - timedelta(days=30) @@ -59,6 +59,7 @@ class Command(BaseCommand): Ты — HR-классификатор. Ниже приведён список допустимых профессий. Твоя задача — выбрать наиболее подходящую по смыслу. Качество классификации - самое важное. + Если не уверен, то лучше укажи "Другое", ошибки недопустимы. Игнорируй орфографические и стилистические различия. Вакансия: {row[3]} diff --git a/vacancies/main/recommendations.py b/vacancies/main/recommendations.py index e81e0a6..8e11db5 100644 --- a/vacancies/main/recommendations.py +++ b/vacancies/main/recommendations.py @@ -1,12 +1,12 @@ from vacancies.main.models import Vacancy +from django.db.models import Q def get_next_vacancy(customer_cv): - vacancy = Vacancy.objects.exclude( - id__in=customer_cv.customer.recommended_vacancies.values_list("vacancy_id", flat=True), - ).filter( + vacancy = Vacancy.objects.filter( + ~Q(id__in=customer_cv.customer.recommended_vacancies.values_list("vacancy_id", flat=True)), + Q(min_salary_rub__isnull=True) | Q(min_salary_rub__gt=customer_cv.min_salary_rub), job_title__title__in=customer_cv.job_titles.values_list("title", flat=True), - min_salary_rub__gt=customer_cv.min_salary_rub, ).first() if vacancy: customer_cv.customer.recommended_vacancies.create(vacancy=vacancy)