from django.core.management import BaseCommand from vacancies.main.models import Vacancy from vacancies.main.features_extractor import extract_vacancy_features from vacancies.main.vector_store import add_vacancy_vectors class Command(BaseCommand): help = "Process vacancies: extract features and index in vector store" def handle(self, *args, **options): vacancies = Vacancy.objects.filter(is_processed=False) len_vacancies = len(vacancies) for index, vacancy in enumerate(vacancies): print(f"Processing {index}/{len_vacancies} {vacancy}") features = extract_vacancy_features(vacancy.content) vacancy.features_json = features.model_dump() vacancy.is_processed = True vacancy.save() add_vacancy_vectors(vacancy.id, features.model_dump(), {"link": vacancy.link})