--- title: networkbot emoji: 🤖 colorFrom: blue colorTo: indigo sdk: docker app_port: 7860 --- # НейроЛингвист — интеллектуальный помощник для работы с текстом Веб-приложение на Flask, объединяющее **нейросетевые** и **логические** функции обработки текста. Позволяет анализировать тональность, генерировать продолжение, делать краткий пересказ, общаться с ИИ-агентом, а также выполнять простые текстовые операции: подсчёт статистики, перемешивание слов, преобразование в leetspeak, сравнение двух текстов и транслитерацию. ## возможности | Функция | Тип | Описание | |---------|-----|----------| | **Тональность** | ИИ | Определяет эмоциональную окраску текста (негатив/нейтраль/позитив) с использованием модели `tabularisai/multilingual-sentiment-analysis`. | | **Генерация текста** | ИИ | Продолжает заданный промпт на основе GPT‑2 (локально). | | **Суммаризация** | ИИ | Сжимает длинный текст в краткий пересказ с помощью `IlyaGusev/rut5_base_sum_gazeta`. | | **Чат с ИИ** | ИИ | Диалог с агентом через Hugging Face Inference API (модель `zai-org/GLM-5.2:novita`). Поддерживает контекст беседы. | | **Статистика текста** | Логика | Подсчёт числа символов (с пробелами и без) и количества слов. | | **Перемешать слова** | Логика | Случайная перестановка слов в предложении. | | **Leetspeak** | Логика | Замена кириллических букв на цифры и символы (например, «а» → «@», «о» → «0»). | | **Сравнить два текста** | Логика | Вычисление процентного совпадения уникальных слов. | | **Транслитерация** | Логика | Преобразование кириллицы в латиницу по стандартным правилам. | --- ## Установка и запуск ### Требования - Python 3.10+ - Оперативная память: от 4 ГБ (модели загружаются в ОЗУ) - Диск: около 2–3 ГБ для кеша моделей ### Шаги 1. Клонируйте репозиторий: ```bash git clone https://github.com/Adieva15/networkbot.git cd neural-web ``` 2. Создайте виртуальное окружение: ```bash python -m venv .venv source .venv/bin/activate # Linux/Mac .venv\Scripts\activate # Windows ``` 3. Установите зависимости: ```bash pip install -r requirements.txt ``` 4. Настройте `config.py` (при необходимости измените модели). По умолчанию используются зеркало Hugging Face и следующие модели: Создайте файл .env или установите переменную HF_TOKEN с вашим токеном Hugging Face (для работы чата через Inference API). Пример: bash export HF_TOKEN="hf_xxxxxxxxxxxxxxxx" Токен можно получить на huggingface.co/settings/tokens. 5. Запустите приложение: ```bash python app.py ``` 6. Откройте браузер по адресу: `http://127.0.0.1:7860` 7. Либо перейдите по ссылке сразу на захощенный сайт: https://huggingface.co/space/Adieva-15/networkbot > **При первом запуске** модели будут загружены с `hf-mirror.com`. Это может занять несколько минут (размер файлов от 300 МБ до 1.5 ГБ). Прогресс отображается в консоли. --- ## Структура проекта ``` networkbot/ ├── app.py # Главный файл Flask ├── config.py # Настройки моделей и API ├── functions/ # Модули с функциями │ ├── __init__.py │ ├── sentiment.py │ ├── generate_text.py │ ├── summarize.py │ ├── chat.py │ ├── text_stats.py │ └── text_utils.py ├── templates/ │ └── index.html # Главная страница (интерфейс) ├── static/ # (опционально) стили, скрипты ├── requirements.txt # Список зависимостей └── README.md ``` --- ## Использование ### Через веб-интерфейс Выберите нужную функцию из выпадающего списка. Введите текст (для сравнения – два текста). Нажмите «→ Отправить» – результат появится внизу. Для чата – выберите «Чат», введите сообщение и нажмите Enter или кнопку «→». Переключайте тему (светлая/тёмная) кнопкой в правом верхнем углу. ### Примеры запросов Тональность: «Фильм был потрясающим!» → Позитивный Генерация: «Однажды в студёную зимнюю пору…» → продолжение текста Суммаризация: (длинная статья) → краткий абзац Чат: «Что такое цифровой двойник?» → ответ от ИИ --- ## Конфигурация Файл `config.py` содержит переменные окружения и пути к моделям. Основные параметры: | Переменная | Описание | Значение по умолчанию | |------------|----------|-----------------------| model_name Модель для тональности tabularisai/multilingual-sentiment-analysis model_gt Модель для генерации ai-forever/rugpt3small_based_on_gpt2 model_sum Модель для суммаризации IlyaGusev/rut5_base_sum_gazeta model_chat Модель для чата (через HF API) zai-org/GLM-5.2:novita HF_TOKEN Токен Hugging Face (обязателен для чата) (не задан) Для использования функций удаления фона и переноса стиля необходимо получить бесплатный API‑ключ на [replicate.com](https://replicate.com) и указать его в `.env` или прямо в `config.py`. Без ключа эти две кнопки будут выдавать ошибку. --- ## Зависимости Основные библиотеки (полный список в requirements.txt): - Flask 2.3+ - Transformers 4.36+ - Torch 2.0+ - OpenAI - Requests - NumPy --- ## Тестирование После запуска проверьте все функции. Если какая-то команда не работает, убедитесь, что: - Интернет-соединение активно (для загрузки моделей и API). - Переменная HF_TOKEN установлена корректно (для чата). - Достаточно свободной оперативной памяти. --- ## Примечания - Все модели работают локально, данные пользователей не покидают ваш компьютер. - При использовании Replicate (удаление фона, стиль) изображения передаются на внешний сервер — ознакомьтесь с политикой конфиденциальности сервиса. - Для ускорения загрузки моделей можно использовать `torch.device('cuda')`, если у вас есть GPU (требуется CUDA-версия PyTorch). --- ## Планы по развитию - Добавить возможность загрузки файлов (txt, docx) для обработки. - Реализовать сохранение истории запросов. - Подключить дополнительные модели (например, для перевода или исправления ошибок). --- ## Вклад Если вы хотите улучшить проект — создавайте Issues и Pull Requests. --- ## Лицензия MIT License — свободно используйте и модифицируйте. ---