from django.core.management import BaseCommand import asyncio from vacancies.main.vector_store import vector_store from vacancies.main.models import CustomerCV, RecommendedVacancy from vacancies.main.bot import application from telegram import InlineKeyboardButton, InlineKeyboardMarkup class Command(BaseCommand): help = "Generates new recommended vacancies" def handle(self, *args, **options): customer_cvs = CustomerCV.objects.all() for customer_cv in customer_cvs: document = vector_store.similarity_search(customer_cv.content, k=1)[0] recommendation, _ = RecommendedVacancy.objects.get_or_create( customer=customer_cv.customer, vacancy_id=document.metadata["vacancy_id"], ) asyncio.run(application.bot.send_message( chat_id=recommendation.customer.chat_id, text=recommendation.vacancy.content, reply_markup=InlineKeyboardMarkup([[ InlineKeyboardButton("Откликнуться", url=recommendation.vacancy.link), ]]), ))