AiVideoAndAudioAnaliz

0

Описание

Языки

  • Python57,8%
  • HTML20,7%
  • JavaScript12,8%
  • CSS8,1%
  • Shell0,4%
  • Dockerfile0,2%
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
README.MD

python -m venv venv

venv/Scripts/activate

pip install -r requirements.txt

🚀 Использование:

Полный бенчмарк всех моделей

python scripts/model_benchmark.py --model all --iterations 5 --output-dir results

Только Whisper

python scripts/model_benchmark.py --model whisper --iterations 3

Только MediaPipe

python scripts/model_benchmark.py --model mediapipe --iterations 3

Быстрый тест

python scripts/model_benchmark.py --quick

Справка

python scripts/model_benchmark.py --help

📁 Выходные файлы:

benchmark_results/ ├── benchmark_20241214_153045.log # Логи выполнения ├── benchmark_results_20241214_153045.json # Полные результаты (JSON) ├── benchmark_summary_20241214_153045.csv # Сводная таблица (CSV) └── benchmark_report_20241214_153045.txt # Текстовый отчет

📋 ПЛАН ИСПОЛЬЗОВАНИЯ ПРОМПТОВ:

СЕССИЯ 1: Экспресс-запуск (1-2 часа)

  1. Тема 1 → Базовое окружение (.env + Docker проверка)
  2. Тема 2 → Тест AI-моделей на малом видео

СЕССИЯ 2: Ядро приложения (3-4 часа)

  1. Тема 6 → Безопасность загрузки файлов
  2. Тема 3 → Настройка Celery + Redis
  3. Тема 4 → Оптимизация SQLite

СЕССИЯ 3: Пользовательский опыт (2-3 часа)

  1. Тема 5 → Исправление UX/UI проблем
  2. Тема 7 → Оптимизация производительности

СЕССИЯ 4: Продакшен (1-2 часа)

  1. Тема 8 → Health checks + мониторинг
  2. Тема 10 → Критичные тесты

СЕССИЯ 5: Улучшения (по желанию)

  1. Тема 9 → Дополнительные фичи

🎯 ТЕМА 1: DevOps-инженер для базового развертывания

Роль: Практикующий DevOps, специалист по Django + Docker
Цель: Проверить и исправить базовое развертывание Ты — DevOps-специалист, настраивающий рабочее окружение для MVP. ТЕХНИЧЕСКИЙ КОНТЕКСТ:

  • Один .env файл для всех окружений (development/production)
  • SQLite как основная БД
  • Существующий Docker-compose НЕ меняем ЗАДАЧИ:
  1. Проверь корректность .env файла:
    • Создай .env со ВСЕМИ необходимыми переменными
    • Проверь, что в settings.py правильно читаются переменные из .env
    • Убедись, что SECRET_KEY, DEBUG, ALLOWED_HOSTS заданы
  2. Проверь Docker-конфигурацию:
    • Все ли volume монтируются корректно?
    • Доступны ли порты 8000 и 6379?
    • Есть ли healthcheck для Redis?
  3. Создай скрипты для разработки:
    • init-dev.sh (первый запуск: миграции, статика, суперюзер)
    • run-dev.sh (запуск всех сервисов)
    • stop-dev.sh (остановка)
  4. Настрой обработку ошибок:
    • Кастомная страница 500 для production
    • Логирование в файлы
    • Rotating log files ЗАПРОС: "Предоставь список файлов с путями требующих изменения с объяснением, а также созданных файлов и описанием"

🤖 ТЕМА 2: ML-инженер для проверки AI-моделей

Роль: Практикующий ML Engineer, специалист по Whisper + MediaPipe
Цель: Гарантировать работу AI-моделей в production Ты — ML Engineer, отвечающий за AI-стек проекта. КОНТЕКСТ:

  • Whisper base для русской речи
  • MediaPipe для анализа позы
  • GigaChat API (опционально, через .env) КРИТИЧЕСКИЕ ЗАДАЧИ:
  1. Оптимизация загрузки моделей:
    • Lazy loading для Whisper (загружать при первом вызове)
    • Singleton для MediaPipe Pose
    • Кэширование моделей в памяти
  2. Устранение утечек памяти:
    • Явное освобождение ресурсов в whisper_handler.py
    • Context manager для MediaPipe в mediapipe_handler.py
    • Очистка temporary files гарантированно
  3. Валидация входных данных:
    • Проверка формата видео (mp4, avi, mov)
    • Максимальная длительность 10 минут
    • Проверка наличия аудиодорожки
  4. Обработка ошибок:
    • Fallback на tiny модель если base не загружается
    • Graceful degradation при отсутствии ffmpeg
    • Детальное логирование ошибок обработки ЗАПРОС: "Предоставь список файлов с путями требующих изменения с объяснением, а также созданных файлов и описанием"

Backend-разработчик для Celery задач

Роль: Senior Backend Developer, специалист по Celery + Redis
Цель: Сделать отказоустойчивую систему фоновых задач Ты — Backend Developer, оптимизирующий систему фоновой обработки. ПРОБЛЕМЫ ДЛЯ РЕШЕНИЯ:

  1. Задачи падают без retry механизма
  2. Нет отслеживания прогресса
  3. Нет очередей с приоритетами ЗАДАНИЕ:
  4. Улучши tasks.py:
    • Добавь retry с exponential backoff (3 попытки)
    • Circuit breaker для анализа позы (если падает 5 раз подряд)
    • Проверка доступности Redis перед запуском задачи
  5. Реализуй прогресс-трекинг:
    • Redis для хранения прогресса (ключ: task_{id})
    • Обновление прогресса после каждого этапа
    • Автоматическая очистка старых прогрессов (24 часа)
  6. Мониторинг задач:
    • Логирование начала/окончания каждой задачи
    • Метрики: время выполнения, успешность
    • Уведомление о долгих задачах (>10 минут)
  7. Обработка ошибок:
    • Сохранение stacktrace в поле модели
    • Возможность повторного запуска через админку
    • Очистка временных файлов при ошибке ЗАПРОС: "Предоставь список файлов с путями требующих изменения с объяснением, а также созданных файлов и описанием" Перед этим отправь список файлов которые ты смог прочитать

🗄️ ТЕМА 4: SQLite Performance Specialist

Роль: SQLite Expert, специалист по оптимизации embedded БД
Цель: Оптимизировать SQLite для 1000+ записей

Ты — Database Specialist, оптимизирующий SQLite для production. ТЕКУЩАЯ СИТУАЦИЯ: - SQLite как основная БД - Ожидается 1000+ записей VideoAnalysis - Много JSON полей (speech_metrics, pose_metrics) ОПТИМИЗАЦИИ: 1. Database schema: - Добавь индексы: status, uploaded_at, user_id - Оптимизируй JSON поля (используй django-jsonfield-backport если нужно) - Добавь partial index для активных записей (status='processing') 2. Query оптимизация: - Оптимизируй запросы в data/database.py - Добавь pagination для истории загрузок - Кэширование частых запросов в Redis (на 5 минут) 3. Connection management: - Singleton для DatabaseManager - Автоматическое восстановление при ошибках соединения - Pool соединений через threading.local 4. Backup и maintenance: - Ежедневный backup БД в data/backups/ - Автоматический VACUUM раз в неделю - Проверка целостности БД при запуске 5. Мониторинг: - Логирование медленных запросов (>100ms) - Отслеживание размера БД - Уведомление при приближении к 1GB ЗАПРОС: "Предоставь список файлов с путями требующих изменения с объяснением, а также созданных файлов и описанием"

🎨 ТЕМА 5: Fullstack Developer для UX/UI улучшений

Роль: Fullstack Developer с фокусом на пользовательском опыте
Цель: Улучшить интерфейс и user journey

Ты — Fullstack Developer, улучшающий пользовательский опыт. USER JOURNEY ДЛЯ УЛУЧШЕНИЯ: 1. Загрузка видео → моментальный фидбек 2. Мониторинг обработки → real-time обновления 3. Результаты → понятная визуализация ЧТО ИСПРАВИТЬ: 1. Upload страница: - Drag-and-drop с preview видео (первый кадр) - Валидация на клиенте (размер, формат) - Progress bar для загрузки на сервер 2. Real-time отслеживание: - Polling каждые 3 секунды для статуса - Визуализация этапов (аудио → поза → рекомендации) - Estimated time remaining 3. Страница результатов: - Интерактивные графики (Chart.js для метрик) - Сравнение с предыдущими анализами - Экспорт результатов (JSON, PDF через weasyprint) 4. Обработка ошибок: - Понятные сообщения об ошибках - Возможность повторной загрузки - Поддержка популярных форматов (mp4, webm, avi) ТЕХНИЧЕСКИЕ ОГРАНИЧЕНИЯ: - Минимум JavaScript (vanilla JS или Alpine.js) - Responsive design (мобильные устройства) - Быстрая загрузка (<2 секунд) ЗАПРОС: "Предоставь список файлов с путями требующих изменения с объяснением, а также созданных файлов и описанием для фронтенда и бэкенда"

🔒 ТЕМА 6: Security Engineer для аудита безопасности

Роль: Security Specialist, специалист по Django security
Цель: Провести security audit и исправить уязвимости

Ты — Security Engineer, проводящий аудит безопасности MVP. КРИТИЧЕСКИЕ УЯЗВИМОСТИ ДЛЯ ПРОВЕРКИ: 1. File upload vulnerabilities 2. XSS в шаблонах 3. Session security 4. SQL injection ЗАДАЧИ: 1. Hardening settings.py: - SECURE_SSL_REDIRECT = True (если есть HTTPS) - CSRF_COOKIE_SECURE = True - SESSION_COOKIE_SECURE = True - SECURE_BROWSER_XSS_FILTER = True 2. File upload protection: - Проверка MIME type (не только расширение) - Ограничение размера файла (100MB) - Сантизация имени файла - Изоляция загруженных файлов в sandbox 3. Session security: - Проверь middleware/session_middleware.py - Сессия должна истекать через 24 часа - Защита от session fixation 4. Data protection: - Маскирование sensitive данных в логах - Очистка temporary файлов после обработки - Шифрование чувствительных данных в БД (если есть) 5. Rate limiting: - Ограничение 10 загрузок в час с одного IP - Защита от DoS на анализ - Капча после 5 failed попыток ФИНАЛЬНЫЙ ЗАПРОС: "Предоставь security audit report с перечнем исправленных файлов и описанием исправленных уязвимостей"

📊 ТЕМА 7: Performance Optimization Specialist

Роль: Performance Engineer, специалист по оптимизации Python/Django
Цель: Оптимизировать производительность обработки видео

Ты — Performance Engineer, оптимизирующий обработку видео. ТЕКУЩИЕ ПРОБЛЕМЫ: 1. Одно видео блокирует очередь 2. Высокое потребление памяти 3. Долгая обработка больших видео РЕШЕНИЯ: 1. Оптимизация обработки: - Параллельное извлечение аудио и анализ кадров - Ограничение анализа кадров (1 кадр в секунду) - Priority queue для коротких видео (<1 минуты) 2. Оптимизация памяти: - Stream processing видео (не загружать целиком) - Освобождение памяти после каждого этапа - Ограничение использования памяти для MediaPipe 3. Мониторинг производительности: - Логирование времени каждого этапа - Профилирование с помощью cProfile - Отслеживание использования памяти (memory_profiler) 4. Управление ресурсами: - Ограничение concurrent задач на worker (2-3) - Graceful degradation при высокой нагрузке - Автоматический retry при нехватке памяти ИНСТРУМЕНТЫ: - cProfile для CPU profiling - memory_profiler для отслеживания памяти - line_profiler для детального анализа ФИНАЛЬНЫЙ ЗАПРОС: "Предоставь performance optimization changelog с метриками до/после для каждого измененного файла"

🚀 ТЕМА 8: SRE для Production Readiness

Роль: Site Reliability Engineer для продакшена
Цель: Подготовить систему к production

Ты — SRE, готовящий систему к работе в production. ОСНОВНЫЕ ПРИНЦИПЫ: 1. Monitoring 2. Health checks 3. Auto-recovery 4. Backup РЕАЛИЗАЦИЯ: 1. Health checks: - /health endpoint для Django (БД, Redis, Celery) - Redis connectivity check - Disk space monitoring 2. Логирование: - Structured logging в JSON формате - Request ID для трейсинга - Rotating log files (100MB max, 5 файлов) 3. Мониторинг: - Prometheus метрики (если время есть) - Uptime monitoring - Error rate monitoring 4. Disaster recovery: - Автоматический backup БД раз в день - Процедура восстановления из backup - Read-only mode при ошибках БД 5. Capacity planning: - Load testing с locust (10 одновременных пользователей) - Performance baseline - Рекомендации по hardware ВАЖНО: Решения должны быть lightweight для MVP ФИНАЛЬНЫЙ ЗАПРОС: "Предоставь production readiness checklist с привязкой к конкретным файлам проекта"

📈 ТЕМА 9: Product Manager для улучшений UX

Роль: Product Manager с техническим бэкграундом
Цель: Добавить полезные фичи для пользователей

Ты — Product Manager, улучшающий MVP на основе feedback. USER PAIN POINTS: 1. Непонятные результаты 2. Нет истории прогресса 3. Нет персонализации ФИЧИ ДЛЯ ДОБАВЛЕНИЯ: 1. Dashboard: - График стресса по времени - Сравнение с предыдущими анализами - Тренды улучшения 2. Gamification: - Уровни стрессоустойчивости - Достижения за регулярный анализ - Progress bar улучшений 3. Персонализация: - Сохранение предпочтений - Кастомизация рекомендаций - Цели по снижению стресса ТЕХНИЧЕСКАЯ РЕАЛИЗАЦИЯ: - Легковесные изменения - Не перегружать БД - Сохранить простоту интерфейса ФИНАЛЬНЫЙ ЗАПРОС: "Предоставь product changelog с user stories и соответствующими изменениями в файлах"

🧪 ТЕМА 10: QA Engineer для автоматизации тестов

Роль: QA Automation Engineer
Цель: Создать базовый test suite

Ты — QA Automation Engineer, создающий тестовое покрытие. ТЕСТИРОВАНИЕ ДЛЯ ПОКРЫТИЯ: 1. Unit tests: AI модели, services 2. Integration tests: Celery tasks 3. E2E tests: Полный user journey ЗАДАЧИ: 1. Test framework: - pytest + pytest-django - Factory Boy для тестовых данных - Mock для внешних зависимостей 2. Критические тест-кейсы: - Загрузка видео разных форматов - Обработка поврежденных файлов - Concurrent processing - Отказ Redis/Celery 3. Performance тесты: - Время обработки 1-минутного видео - Memory usage под нагрузкой - Recovery after failure 4. CI/CD: - GitHub Actions workflow - Автотесты при каждом PR - Coverage отчеты ФИНАЛЬНЫЙ ЗАПРОС: "Предоставь полный test suite с указанием, КАКОЙ файл тестирует КАКОЙ модуль"

💡 РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ:

  1. Начинайте с Темы 1 - базовая работоспособность

  2. Тестируйте после каждой темы - запускайте проект

  3. Фиксируйте изменения в Git после каждой успешной темы

  4. Используйте .env правильно:

    DJANGO_SECRET_KEY=ваш_секретный_ключ DEBUG=True # False для production GIGACHAT_API_KEY=ваш_ключ_или_оставить_пустым ALLOWED_HOSTS=localhost,127.0.0.1
  5. Приоритетность:

    • Критично: 1, 2, 3, 6
    • Важно: 4, 5, 7
    • По желанию: 8, 9, 10

Готов начать с конкретной темы?