Skip to content

VladimirGutuev/HackathonAI-2025-05

Repository files navigation

Анализатор военных дневников и генератор художественных произведений, изображений, музыки на основе глубокого эмоционального анализа

Веб-приложение для анализа военных дневников с использованием искусственного интеллекта и создания музыкальных произведений на их основе. Проект использует GPT-4 для анализа эмоционального состояния авторов дневников и Suno API для генерации музыки.

Обзор проекта

Этот проект предоставляет пользователям возможность:

  • Загружать или вводить тексты военных дневников.
  • Получать анализ эмоционального состояния автора, основанный на тексте.
  • Генерировать художественное произведения и иллюстрации, отражающие эмоции и настроение дневника, с помощью OPENAI API
  • Генерировать музыкальное произведение, отражающее эмоции и настроение дневника, с помощью Suno API.
  • Взаимодействовать с приложением через современный веб-интерфейс.

Возможности

  • Анализ эмоционального состояния автора дневника (с использованием GPT-4).
  • Определение интенсивности различных эмоций.
  • Выявление скрытых эмоциональных мотивов.
  • Генерация музыкальных произведений на основе дневниковых записей (с использованием Suno API).
  • Современный минималистичный веб-интерфейс.

Технологии

  • Python 3.7.1+
  • Flask 3.0.2
  • OpenAI GPT-4
  • OPENAI DALLE
  • Suno API
  • HTML5/CSS3
  • JavaScript (Fetch API)

ВНИМАНИЕ! Для запуска локально с рабочей генерацией музыки необходимо туннелирование, например, с помощью ngrok, т.к. API SUNO требует доменный адрес. Для запуска нужны API ключи!

Установка

  1. Клонируйте репозиторий:

    git clone [URL-репозитория]
    cd [имя-директории]
  2. Создайте и активируйте виртуальное окружение:

    python -m venv env

    Для Windows (PowerShell):

    .\\env\\Scripts\\Activate.ps1

    Для Windows (Command Prompt):

    env\\Scripts\\activate.bat

    Для Linux/MacOS:

    source env/bin/activate
  3. Установите зависимости:

    pip install -r requirements.txt
  4. Настройте переменные окружения: Создайте файл .env в корневой директории проекта и добавьте ваши API ключи:

    OPENAI_API_KEY=ваш_openai_ключ_api
    SUNO_API_KEY=ваш_suno_ключ_api
    

    Важно: Убедитесь, что файл .env сохранен в кодировке UTF-8 без BOM.

Запуск

  1. Активируйте виртуальное окружение (если еще не активировано).

  2. Запуск с использованием ngrok (для локальной разработки с Suno API): Поскольку Suno API ожидает публично доступный URL для callback'ов, при локальном запуске необходимо использовать туннелирование. Рекомендуется использовать ngrok.

    a. Запустите ngrok для вашего локального Flask-сервера (по умолчанию порт 5000): bash ngrok http 5000 b. Скопируйте HTTPS URL, предоставленный ngrok (например, https://xxxx-xx-xxx-xx-xx.ngrok-free.app). c. Запустите Flask приложение, передав этот URL в качестве переменной окружения APP_BASE_URL: bash APP_BASE_URL=https://xxxx-xx-xxx-xx-xx.ngrok-free.app python app.py Или установите APP_BASE_URL в вашем файле .env.

  3. Запустите Flask приложение (если не используете Suno API или разворачиваете на сервере с публичным IP):

    python app.py
  4. Откройте браузер и перейдите по адресу http://localhost:5000 (или по вашему ngrok URL).

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

  1. Введите текст дневника в текстовое поле.
  2. Нажмите кнопку "Анализировать и сгенерировать музыку".
  3. Дождитесь результатов анализа и генерации музыки. Это может занять некоторое время.
  4. Просмотрите анализ эмоций и прослушайте сгенерированное музыкальное произведение.

Структура проекта

  • app.py - основной файл Flask приложения, обрабатывает веб-запросы.
  • war_diary_analyzer.py - модуль для анализа текста дневников с помощью OpenAI GPT-4.
  • forum.py - (Если это часть проекта, опишите его назначение здесь. Если нет - удалите эту строку).
  • templates/ - директория с HTML шаблонами.
    • index.html - главная страница приложения.
  • static/ - директория со статическими файлами (CSS, JavaScript).
  • requirements.txt - список зависимостей Python.
  • .env - файл конфигурации с API ключами (необходимо создать вручную).
  • .gitignore - определяет намеренно неотслеживаемые файлы, которые Git должен игнорировать.
  • schema.sql - схема базы данных (если используется).
  • recreate_db.py - скрипт для пересоздания базы данных (если используется).

Ключевые улучшения (пример)

  • Улучшена обработка ошибок при взаимодействии с API OpenAI и Suno.
  • Увеличен таймаут для запросов к API.
  • Добавлена индикация загрузки и обработка длительных запросов.
  • Реализована корректная обработка ошибок на стороне клиента и сервера.

Возможные проблемы при установке

  1. Ошибка с python-dotenv:
    pip install python-dotenv --upgrade
  2. Ошибка с OpenAI или Suno API:
    • Проверьте правильность API ключей в файле .env.
    • Убедитесь, что у вас есть доступ к соответствующим API.
    • Проверьте баланс на ваших аккаунтах OpenAI/Suno.
  3. Проблемы с виртуальным окружением:
    • Удалите папку env.
    • Создайте новое окружение и повторите шаги установки.

Лицензия

Apache 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors