Персональный Telegram-бот, имитирующий стиль общения любого пользователя на основе истории переписки.
- Описание
- Возможности
- Технологии
- Быстрый старт
- Установка
- Настройка
- Использование
- Профили генерации
- Структура проекта
- Режимы работы
- Требования
- Аппаратная оптимизация
- Лицензия
AI Telegram Responder — инструмент для создания и обучения моделей, имитирующих стиль общения выбранного пользователя Telegram. После обучения бот автоматически отвечает на сообщения, копируя стиль выбранного человека.
- Конвертация истории чатов Telegram в датасеты для обучения
- Обучение персонализированных моделей
- Переключение между несколькими моделями
- Гибкая настройка профилей генерации (температура, длина и др.)
- Несколько режимов работы (личные чаты, группы, "сталкер")
- Автоматические ответы в Telegram
- Поддержка CPU, NVIDIA GPU (CUDA), Apple Silicon (MPS)
- Кэширование ответов для ускорения работы
- Удобная настройка через меню и конфиг-файлы
- Python 3.8+
- PyTorch
- HuggingFace Transformers
- Pyrogram
-
Клонируйте репозиторий:
git clone https://github.com/username/ai-responder.git cd ai-responder -
Создайте виртуальное окружение и установите зависимости:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt
-
Настройте Telegram API:
- Получите
api_idиapi_hashна my.telegram.org - Заполните файл
.envилиconfig/config.yaml(см. ниже)
- Получите
-
Запустите приложение:
# macOS python start/macos/start_macos.py # либо chmod +x start/macos/start_macos.sh /macos/start_macos.sh # Linux python start/linux/start_linux.py # либо chmod +x start/linux/start_linux.sh /linux/start_linux.sh # Windows python start/windows/start_windows.py
- Клонируйте репозиторий и перейдите в папку проекта.
- Создайте виртуальное окружение и активируйте его.
- Установите зависимости из
requirements.txt.
Для корректной работы на Debian/Ubuntu необходимо установить системные зависимости:
sudo apt update
sudo apt install python3-venv python3-tk python3-devОбъяснение:
python3-venv— для создания виртуального окруженияpython3-tk— необходим для GUI меню приложения (используется вstart/linux/start_linux.py)python3-dev— содержит заголовки Python, необходимые для компиляции модулей при обучении моделей
Если вы используете GPU (NVIDIA CUDA), также убедитесь, что установлены:
sudo apt install build-essential-
Через меню приложения:
Запустите приложение и выберите пункт "6. Настройки" для конфигурирования профиля генерации, модели, режима работы и устройства. -
Через файл
config/config.yaml:
Все основные параметры (api_id,api_hash,phone,login,target_user_ids,target_channel_ids,modeи др.) настраиваются в этом файле.telegram: api_id: ваш_api_id api_hash: ваш_api_hash phone: '+79001234567' login: ваш_логин target_user_ids: [123456789] target_channel_ids: [-1001234567890] mode: only_channel_messages
-
Через
.env:
Можно использовать переменные окружения для чувствительных данных (пример в.env.example).
- Обучить модель
- Конвертировать JSON в датасет
- Список моделей
- Выбрать модель
- Запустить Telegram-бота
- Настройки
- Выход
python start/macos/start_macos.pyПрофили генерации настраиваются в config/config.yaml и позволяют менять стиль и параметры генерации (длина, температура и др.).
Примеры профилей:
creative— креативные, длинные ответыprecise— короткие, точныеbalanced— сбалансированныеchatty— разговорные
Выбор профиля — через меню "6. Настройки" → "1. Профиль генерации текста".
ai-responder/
├── src/
│ ├── bot/
│ ├── ml/
│ └── utils/
├── start/
│ ├── main.py
│ ├── macos/
│ ├── linux/
│ └── windows/
├── config/
│ ├── config.yaml
│ └── config.json
├── .env
└── README.md
- only_private_chats — ответы только в личных чатах
- only_channel_messages — ответы только в группах/каналах
- stalker — ответы определённым пользователям в любых чатах
- Python 3.8+
- PyTorch
- 4 ГБ RAM+
- API доступ к Telegram
- CPU — всегда доступен
- NVIDIA GPU (CUDA) — максимальная скорость
- Apple Silicon (MPS) — поддержка Mac M1/M2/M3
Выбор устройства — через меню "6. Настройки" → "4. Устройство для обучения".
- Все параметры хранятся в
config/config.yaml(основные настройки, профили генерации, режимы и др.). - Для чувствительных данных используйте
.env.
Проект распространяется под лицензией MIT. Подробнее — в файле LICENSE.