Создать минимально работающий прототип (MVP) системы, которая: автоматически парсит закупки с сайта https://agregatoreat.ru (должна быть предусмотрена возможность подключения других источников, в том числе нестандартных) сохраняет данные в базу обучается на размеченных примерах (интересно / неинтересно) отображает отобранные закупки в терминале или веб‑интерфейсе имеет простую админку для управления источниками и переобучения
Архитектура MVP:
1. Парсер Язык: Python Источник: https://agregatoreat.ru (возможность подключения дополнительных сайтов) Разделы: 44‑ФЗ, 223‑ФЗ - все закупки, кроме архивных
Функционал: Сбор всех активных закупок со всех страниц Сохранение данных в SQLite или PostgreSQL Исключение дубликатов (по ссылке или ID) Запуск по расписанию (через cron или APScheduler) Каждая закупка хранит поле "suitable": None (для будущей ML‑разметки)
2. Модуль машинного обучения Модель: LogisticRegression или RandomForest Обучение на CSV/JSON с ручной разметкой Сохранение обученной модели в .pkl Возможность переобучения по кнопке или скриптом Автоматическое применение модели к новым закупкам
3. Интерфейс отбора закупок Простая веб‑страница (можно на Flask / FastAPI + HTML/JS) Таблица с отобранными закупками (suitable=True) Возможность вручную пометить закупку как "интересно" / "неинтересно" Фильтры: по дате, цене, заказчику
4. Админка Загрузка CSV/JSON с ручной разметкой закупок Кнопка "переобучить модель" Возможность управлять источниками парсинга (например: выбрать fz, регион, ключевые слова и т.п.)
Требования к результату: Весь код ведётся в Git (GitHub или GitLab; можно приватно) README.md с инструкцией по запуску, настройке, дообучению модели Интерфейс: минималистичный, читаемый, без избыточных фреймворков Чёткое разделение компонентов (parser / model / web) Возможность масштабирования: легко добавить новый сайт или модель