Spaces:
Sleeping
Sleeping
| # -*- coding: utf-8 -*- | |
| # Скрипт для быстрого запуска системы анализа токенизации. | |
| # Автоматически устанавливает зависимости и запускает веб-интерфейс. | |
| echo "🚀 Запуск системы анализа токенизации" | |
| echo "=====================================" | |
| # Проверяем наличие Python | |
| if ! command -v python3 &> /dev/null; then | |
| echo "❌ Python3 не найден. Установите Python 3.8+ и повторите попытку." | |
| exit 1 | |
| fi | |
| # Проверяем версию Python | |
| python_version=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') | |
| required_version="3.8" | |
| if [ "$(printf '%s\n' "$required_version" "$python_version" | sort -V | head -n1)" != "$required_version" ]; then | |
| echo "❌ Требуется Python 3.8+, найден $python_version" | |
| exit 1 | |
| fi | |
| echo "✅ Python $python_version найден" | |
| # Создаем виртуальное окружение (опционально) | |
| if [ "$1" = "--venv" ]; then | |
| echo "📦 Создание виртуального окружения..." | |
| python3 -m venv venv | |
| source venv/bin/activate | |
| echo "✅ Виртуальное окружение активировано" | |
| fi | |
| # Устанавливаем зависимости | |
| echo "📥 Установка зависимостей..." | |
| pip install -r requirements.txt | |
| if [ $? -eq 0 ]; then | |
| echo "✅ Зависимости установлены успешно" | |
| else | |
| echo "❌ Ошибка при установке зависимостей" | |
| exit 1 | |
| fi | |
| # Проверяем наличие данных | |
| if [ ! -f "data/raw_corpus.jsonl" ]; then | |
| echo "📊 Корпус не найден. Запускаем сбор данных..." | |
| python src/scrapers.py --auto --out data/raw_corpus.jsonl --min_words 50000 --max_articles 1000 | |
| if [ $? -eq 0 ]; then | |
| echo "✅ Корпус собран успешно" | |
| else | |
| echo "⚠️ Ошибка при сборе корпуса, но продолжаем с демо-данными" | |
| fi | |
| else | |
| echo "✅ Корпус найден" | |
| fi | |
| # Создаем необходимые директории | |
| mkdir -p results models notebooks | |
| echo "" | |
| echo "🎯 Выберите режим запуска:" | |
| echo "1) Веб-интерфейс (Streamlit)" | |
| echo "2) Демонстрация функционала" | |
| echo "3) Сбор дополнительных данных" | |
| echo "4) Обучение подсловных моделей" | |
| echo "" | |
| read -p "Введите номер (1-4): " choice | |
| case $choice in | |
| 1) | |
| echo "🌐 Запуск веб-интерфейса..." | |
| echo "Приложение будет доступно по адресу: http://localhost:8501" | |
| streamlit run src/streamlit_app.py | |
| ;; | |
| 2) | |
| echo "🎭 Запуск демонстрации..." | |
| python demo.py | |
| ;; | |
| 3) | |
| echo "📊 Сбор дополнительных данных..." | |
| python src/scrapers.py --auto --out data/raw_corpus.jsonl --min_words 100000 --max_articles 2000 | |
| ;; | |
| 4) | |
| echo "🤖 Обучение подсловных моделей..." | |
| python src/train_subword.py | |
| ;; | |
| *) | |
| echo "❌ Неверный выбор. Запускаем веб-интерфейс по умолчанию..." | |
| streamlit run src/streamlit_app.py | |
| ;; | |
| esac | |
| echo "" | |
| echo "✅ Работа завершена!" | |
| echo "📖 Документация: README.md" | |
| echo "📋 Отчет: FINAL_REPORT.md" | |