Анализатор военных дневников и генератор художественных произведений, изображений, музыки на основе глубокого эмоционального анализа
Веб-приложение для анализа военных дневников с использованием искусственного интеллекта и создания музыкальных произведений на их основе. Проект использует 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 ключи!
-
Клонируйте репозиторий:
git clone [URL-репозитория] cd [имя-директории] -
Создайте и активируйте виртуальное окружение:
python -m venv env
Для Windows (PowerShell):
.\\env\\Scripts\\Activate.ps1
Для Windows (Command Prompt):
env\\Scripts\\activate.bat
Для Linux/MacOS:
source env/bin/activate -
Установите зависимости:
pip install -r requirements.txt
-
Настройте переменные окружения: Создайте файл
.envв корневой директории проекта и добавьте ваши API ключи:OPENAI_API_KEY=ваш_openai_ключ_api SUNO_API_KEY=ваш_suno_ключ_apiВажно: Убедитесь, что файл
.envсохранен в кодировке UTF-8 без BOM.
-
Активируйте виртуальное окружение (если еще не активировано).
-
Запуск с использованием ngrok (для локальной разработки с Suno API): Поскольку Suno API ожидает публично доступный URL для callback'ов, при локальном запуске необходимо использовать туннелирование. Рекомендуется использовать ngrok.
a. Запустите ngrok для вашего локального Flask-сервера (по умолчанию порт 5000):
bash ngrok http 5000b. Скопируйте 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. -
Запустите Flask приложение (если не используете Suno API или разворачиваете на сервере с публичным IP):
python app.py
-
Откройте браузер и перейдите по адресу
http://localhost:5000(или по вашему ngrok URL).
- Введите текст дневника в текстовое поле.
- Нажмите кнопку "Анализировать и сгенерировать музыку".
- Дождитесь результатов анализа и генерации музыки. Это может занять некоторое время.
- Просмотрите анализ эмоций и прослушайте сгенерированное музыкальное произведение.
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.
- Добавлена индикация загрузки и обработка длительных запросов.
- Реализована корректная обработка ошибок на стороне клиента и сервера.
- Ошибка с
python-dotenv:pip install python-dotenv --upgrade
- Ошибка с OpenAI или Suno API:
- Проверьте правильность API ключей в файле
.env. - Убедитесь, что у вас есть доступ к соответствующим API.
- Проверьте баланс на ваших аккаунтах OpenAI/Suno.
- Проверьте правильность API ключей в файле
- Проблемы с виртуальным окружением:
- Удалите папку
env. - Создайте новое окружение и повторите шаги установки.
- Удалите папку
Apache 2.0