Skip to content

инструмент для создания и обучения моделей, имитирующих стиль общения выбранного пользователя Telegram.

License

Notifications You must be signed in to change notification settings

Eiztrips/ai-responder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 AI Telegram Responder

Python 3.8+ License: MIT

Персональный Telegram-бот, имитирующий стиль общения любого пользователя на основе истории переписки.

📋 Содержание

📖 Описание

AI Telegram Responder — инструмент для создания и обучения моделей, имитирующих стиль общения выбранного пользователя Telegram. После обучения бот автоматически отвечает на сообщения, копируя стиль выбранного человека.

✨ Возможности

  • Конвертация истории чатов Telegram в датасеты для обучения
  • Обучение персонализированных моделей
  • Переключение между несколькими моделями
  • Гибкая настройка профилей генерации (температура, длина и др.)
  • Несколько режимов работы (личные чаты, группы, "сталкер")
  • Автоматические ответы в Telegram
  • Поддержка CPU, NVIDIA GPU (CUDA), Apple Silicon (MPS)
  • Кэширование ответов для ускорения работы
  • Удобная настройка через меню и конфиг-файлы

🛠️ Технологии

  • Python 3.8+
  • PyTorch
  • HuggingFace Transformers
  • Pyrogram

⚡ Быстрый старт

  1. Клонируйте репозиторий:

    git clone https://github.com/username/ai-responder.git
    cd ai-responder
  2. Создайте виртуальное окружение и установите зависимости:

    python -m venv venv
    source venv/bin/activate  # Windows: venv\Scripts\activate
    pip install -r requirements.txt
  3. Настройте Telegram API:

    • Получите api_id и api_hash на my.telegram.org
    • Заполните файл .env или config/config.yaml (см. ниже)
  4. Запустите приложение:

    # 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

📦 Установка

  1. Клонируйте репозиторий и перейдите в папку проекта.
  2. Создайте виртуальное окружение и активируйте его.
  3. Установите зависимости из requirements.txt.

Установка на Debian/Ubuntu

Для корректной работы на 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).

🚀 Использование

Основное меню

  1. Обучить модель
  2. Конвертировать JSON в датасет
  3. Список моделей
  4. Выбрать модель
  5. Запустить Telegram-бота
  6. Настройки
  7. Выход

Пример запуска

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.

About

инструмент для создания и обучения моделей, имитирующих стиль общения выбранного пользователя Telegram.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •