Skip to content

Dosik9/hr-cv-screener-ai

Repository files navigation

🤖 AI CV Screener & Analytics Dashboard

Локальная интеллектуальная система для автоматизированного скрининга, скоринга и аналитики резюме соискателей на базе локальной LLM (Qwen2.5-Coder-3B) с полноценным интерактивным веб-интерфейсом.

Проект разработан по современной двухкомпонентной архитектуре (FastAPI + Streamlit) и полностью контейнеризирован с помощью Docker Compose. Разбор документов производится локально, гарантируя полную конфиденциальность персональных данных кандидатов.


🚀 Ключевой функционал

  • 📝 Управление вакансиями: Создание, хранение и редактирование требований к вакансиям в единой панели.
  • 📄 Постраничный парсинг документов: Извлечение текста из форматов PDF и DOCX. Для PDF-файлов внедрена постраничная разметка, помогающая ИИ точнее ориентироваться в структуре документа.
  • 🧠 Интеллектуальный ИИ-скоринг: Локальная модель анализирует опыт кандидата, сопоставляет его со стеком вакансии и выставляет объективную оценку соответствия от 0 до 100 с подробным обоснованием в формате JSON.
  • ⚔️ A/B Скрининг (Блиц-сравнение): Возможность выбрать двух кандидатов бок о бок и запросить у ИИ мгновенный сравнительный вердикт по их сильным и слабым сторонам.
  • 📊 Аналитическая воронка (HR-Dashboard): Наглядная интерактивная визуализация этапов подбора, распределения баллов соискателей и ключевых HR-метрик.

🛠️ Технологический стек

  • Backend: Python 3.11, FastAPI, SQLAlchemy 2.0, Uvicorn, Pydantic v2.
  • Database: SQLite (через асинхронный драйвер aiosqlite).
  • Frontend / UI: Streamlit, Plotly (для графиков), httpx.
  • AI Core: OpenAI SDK (совместимый клиент), Ollama, Qwen2.5-Coder-3B.
  • DevOps: Docker, Docker Compose.
  • Parsing: pypdf, python-docx.

📐 Архитектура проекта

hr_cv_screener/
│
├── app/                  # Бэкенд-компонент (FastAPI)
│   ├── config.py         # Настройки конфигурации и Pydantic Settings
│   ├── database.py       # Сессия и подключение к SQLAlchemy асинхронно
│   ├── main.py           # Маршруты API и эндпоинты
│   ├── models.py         # ORM-модели базы данных (Vacancy, Candidate)
│   ├── schemas.py        # Валидация входных/выходных данных через Pydantic
│   └── services.py       # Бизнес-логика (Парсинг PDF/DOCX, интеграция с LLM)
│
├── dashboard.py          # Фронтенд-компонент (Интерфейс на Streamlit)
├── Backend.Dockerfile    # Docker-инструкции для сборки бэкенда
├── Frontend.Dockerfile   # Docker-инструкции для сборки фронтенда
├── docker-compose.yml    # Сценарий оркестрации контейнеров
├── requirements.txt      # Общий список зависимостей проекта
└── README.md             # Документация проекта

About

Локальная интеллектуальная система (FastAPI + Streamlit) для автоматического парсинга, ИИ-скоринга и сравнительного анализа резюме соискателей с использованием локальной LLM через Ollama. Полностью контейнеризировано в Docker Compose.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages