Spaces:
Sleeping
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 ГБ для кеша моделей
Шаги
Клонируйте репозиторий:
git clone https://github.com/Adieva15/networkbot.git cd neural-webСоздайте виртуальное окружение:
python -m venv .venv source .venv/bin/activate # Linux/Mac .venv\Scripts\activate # WindowsУстановите зависимости:
pip install -r requirements.txtНастройте
config.py(при необходимости измените модели). По умолчанию используются зеркало Hugging Face и следующие модели: Создайте файл .env или установите переменную HF_TOKEN с вашим токеном Hugging Face (для работы чата через Inference API).Пример:
bash export HF_TOKEN="hf_xxxxxxxxxxxxxxxx" Токен можно получить на huggingface.co/settings/tokens.
Запустите приложение:
python app.pyОткройте браузер по адресу:
http://127.0.0.1:7860Либо перейдите по ссылке сразу на захощенный сайт: 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 и указать его в .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 — свободно используйте и модифицируйте.