Загрузка данных
import sys
import os
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
from backend.app import app
from backend.db import db
from backend.models import Candidate, Resume, Vacancy
def create_candidate(vk_user_id, full_name, email, phone):
candidate = Candidate(
vk_user_id=vk_user_id,
full_name=full_name,
email=email,
phone=phone,
)
db.session.add(candidate)
db.session.flush()
return candidate
def create_resume(candidate, vacancy, file_name, raw_text, parsed_json):
resume = Resume(
candidate_id=candidate.id,
vacancy_id=vacancy.id,
file_name=file_name,
raw_text=raw_text.strip(),
parsed_json=parsed_json,
)
db.session.add(resume)
db.session.flush()
return resume
with app.app_context():
vacancy = Vacancy(
title="AI-инженер",
department="AI Research & Engineering",
description="""
Разработка AI/ML-решений для внутренних и клиентских сервисов;
Интеграция LLM и NLP-моделей в backend-системы;
Работа с пайплайнами обработки данных;
Разработка сервисов на Python;
Подготовка prompt-инструкций и настройка inference;
Оценка качества ML-моделей;
Участие в проектировании AI-архитектуры;
Взаимодействие с аналитиками и backend-разработчиками.
""".strip(),
requirements="""
Опыт разработки на Python;
Понимание основ машинного обучения и NLP;
Опыт работы с LLM или Hugging Face;
Навыки работы с REST API;
Опыт работы с Pandas и обработкой данных;
Понимание embeddings, RAG и vector search будет преимуществом;
Опыт работы с Docker и Git;
Навыки проектирования backend-сервисов.
""".strip(),
skills=[
"Python",
"Machine Learning",
"NLP",
"LLM",
"Hugging Face",
"REST API",
"Pandas",
"RAG",
"Docker",
"Git"
],
is_active=True,
)
db.session.add(vacancy)
db.session.flush()
resumes_data = [
{
"vk_user_id": "1000001",
"full_name": "Семенов Артем Игоревич",
"level": "Senior",
"match_level": "high",
"experience_years": 6,
"skills": ["Python", "LLM", "RAG", "Hugging Face", "Docker", "REST API"],
"raw_text": """
Семенов Артем Игоревич
AI Engineer
Опыт работы: 6 лет.
Разрабатывал AI-сервисы на Python, интегрировал LLM через Hugging Face API, реализовывал RAG-пайплайны и vector search. Участвовал в разработке интеллектуальных чат-ботов и систем анализа текста.
Навыки: Python, LLM, RAG, Hugging Face, Docker, REST API.
"""
},
{
"vk_user_id": "1000002",
"full_name": "Кузнецова Мария Андреевна",
"level": "Middle",
"match_level": "high",
"experience_years": 4,
"skills": ["Python", "Machine Learning", "Pandas", "NLP", "Git"],
"raw_text": """
Кузнецова Мария Андреевна
ML Engineer
Опыт работы: 4 года.
Работала с NLP-моделями, занималась обработкой текстовых данных и обучением ML-моделей для классификации и анализа документов. Разрабатывала backend-сервисы для ML-приложений.
Навыки: Python, Machine Learning, Pandas, NLP, Git.
"""
},
{
"vk_user_id": "1000003",
"full_name": "Фролов Никита Сергеевич",
"level": "Senior",
"match_level": "high",
"experience_years": 7,
"skills": ["LLM", "Transformers", "RAG", "Embeddings", "FastAPI", "Docker"],
"raw_text": """
Фролов Никита Сергеевич
LLM Engineer
Опыт работы: 7 лет.
Разрабатывал сервисы на основе трансформеров и LLM, занимался embeddings и retrieval-системами. Реализовывал API для генерации текста и анализа документов.
Навыки: LLM, Transformers, RAG, Embeddings, FastAPI, Docker.
"""
},
{
"vk_user_id": "1000004",
"full_name": "Тарасова Виктория Олеговна",
"level": "Middle",
"match_level": "medium",
"experience_years": 3,
"skills": ["Python", "Pandas", "SQL", "Data Analysis", "Machine Learning"],
"raw_text": """
Тарасова Виктория Олеговна
Data Analyst / Junior ML Engineer
Опыт работы: 3 года.
Занималась аналитикой данных, разрабатывала ML-модели прогнозирования и обработки текстов. Имеет базовый опыт интеграции AI-моделей в приложения.
Навыки: Python, Pandas, SQL, Data Analysis, Machine Learning.
"""
},
{
"vk_user_id": "1000005",
"full_name": "Жуков Денис Владимирович",
"level": "Low",
"match_level": "low",
"experience_years": 1,
"skills": ["HTML", "CSS", "JavaScript"],
"raw_text": """
Жуков Денис Владимирович
Frontend-разработчик
Опыт работы: 1 год.
Разрабатывал пользовательские интерфейсы на JavaScript. Опыта работы с AI, NLP или backend-сервисами нет.
Навыки: HTML, CSS, JavaScript.
"""
},
{
"vk_user_id": "1000006",
"full_name": "Миронова Елена Павловна",
"level": "Senior",
"match_level": "high",
"experience_years": 8,
"skills": ["Python", "NLP", "Hugging Face", "PyTorch", "RAG", "Docker"],
"raw_text": """
Миронова Елена Павловна
Senior AI Engineer
Опыт работы: 8 лет.
Разрабатывала NLP-сервисы и conversational AI-системы. Работала с Hugging Face, PyTorch и retrieval-системами. Настраивала inference-пайплайны и интеграции LLM в корпоративные сервисы.
Навыки: Python, NLP, Hugging Face, PyTorch, RAG, Docker.
"""
},
{
"vk_user_id": "1000007",
"full_name": "Алексеев Максим Ильич",
"level": "Middle",
"match_level": "medium",
"experience_years": 3,
"skills": ["Python", "FastAPI", "REST API", "Docker", "Git"],
"raw_text": """
Алексеев Максим Ильич
Backend Developer
Опыт работы: 3 года.
Разрабатывал backend-сервисы на Python и FastAPI. Имеет опыт интеграции внешних AI API и работы с Docker.
Навыки: Python, FastAPI, REST API, Docker, Git.
"""
},
{
"vk_user_id": "1000008",
"full_name": "Голубева Алина Дмитриевна",
"level": "Senior",
"match_level": "high",
"experience_years": 6,
"skills": ["Machine Learning", "LLM", "Embeddings", "RAG", "Vector Search", "Python"],
"raw_text": """
Голубева Алина Дмитриевна
AI/ML Engineer
Опыт работы: 6 лет.
Разрабатывала retrieval-системы и AI-модули для поиска информации. Работала с embeddings, vector search и LLM-интеграциями.
Навыки: Machine Learning, LLM, Embeddings, RAG, Vector Search, Python.
"""
},
{
"vk_user_id": "1000009",
"full_name": "Лебедев Игорь Романович",
"level": "Low",
"match_level": "low",
"experience_years": 2,
"skills": ["Excel", "Support", "Communication"],
"raw_text": """
Лебедев Игорь Романович
Специалист поддержки
Опыт работы: 2 года.
Работал в технической поддержке и сопровождении пользователей. Не имеет опыта разработки AI-систем и backend-сервисов.
Навыки: Excel, Support, Communication.
"""
},
{
"vk_user_id": "1000010",
"full_name": "Ершов Кирилл Александрович",
"level": "Senior",
"match_level": "high",
"experience_years": 9,
"skills": ["Python", "LLM", "NLP", "Transformers", "PyTorch", "REST API"],
"raw_text": """
Ершов Кирилл Александрович
Senior AI Engineer
Опыт работы: 9 лет.
Разрабатывал NLP и LLM-решения для автоматизации клиентских сервисов. Работал с transformers, inference API и AI-архитектурой backend-систем.
Навыки: Python, LLM, NLP, Transformers, PyTorch, REST API.
"""
},
]
for item in resumes_data:
candidate = create_candidate(
vk_user_id=item["vk_user_id"],
full_name=item["full_name"],
email=f'{item["vk_user_id"]}@example.com',
phone="+375290000000",
)
create_resume(
candidate=candidate,
vacancy=vacancy,
file_name=f'{item["vk_user_id"]}_resume.txt',
raw_text=item["raw_text"],
parsed_json={
"full_name": item["full_name"],
"target_vacancy_id": vacancy.id,
"target_vacancy": vacancy.title,
"level": item["level"],
"match_level": item["match_level"],
"experience_years": item["experience_years"],
"skills": item["skills"],
}
)
db.session.commit()
print("✅ AI Engineer dataset added")
print("Vacancies:", Vacancy.query.count())
print("Candidates:", Candidate.query.count())
print("Resumes:", Resume.query.count())
print("New Vacancy ID:", vacancy.id)
print("Resume IDs:", [r.id for r in vacancy.resumes])