Автономный телеграм канал, который ведут локальные нейросети

Автономный телеграм канал, который ведут локальные нейросети — проект Василия Киреева
Автоматическая генерация текста и изображений с помощью слабых локальных ИИ-моделей в развлекательный псевдоэотерический телеграм-канал "НейроВедунья".

Причины

Канал Нейроведунья — демонстрация возможностей локальных автоматизаций на lowcode-платформе n8n и локальных нейросетей для генерации текстового и визуального контента на имеющемся оборудовании: Raspberry Pi 5 и MacBook Air M1 8GB. В данный момент используются:

  • Для текста — LM Studio и модель Gemma 3 4B.
  • Для изображений — ComfyUI и модель SDXL Turbo.

Кейс можно масштабировать на другие задачи связанные с автоматической генерацией контента.

Архитектура

Ядро проекта — платформа для low-code автоматизаций n8n, которая работает в Docker на домашнем сервере Raspberry Pi 5.

Для подготовки контента использовался следующий подход с предварительным планированием контента:

  • В одной таблице данных хранятся тезисы: темы постов — при желании их можно добавлять вручную.
  • В другой таблице данных хранится контент-план: текст поста, промт для создания изображения, ссылка на изображение.
  • Изображения хранятся на локальном SFTP-сервере.

Для автономного создания контента в автоматическом режиме, с помощью триггера-планировщика cron запускаются следующие потоки:

  • Создание текста с помощью LM Studio
  • Создание изображений с помощью ComfyUI
  • Размещение поста
  • Управляющие потоки

Также реализованы вспомогательные потоки:

  • Отправка уведомления в Telegram
  • Отправка ошибки в Telegram

Создание текста

Создание текста происходит в ночь с пятницы на субботу. Для создания текста используется LM Studio с моделью Gemma 3 4B, которая работает на MacBook Air M1 8GB.

Поток практически линейный, потому что LM Studio отправляет ответ на запрос, который запрашивает генерацию.

Создание текста происходит в 2 этапа:

  • Создание тезисов
  • Создание постов и промтов для изображений

Создание тезисов запускается, если их меньше двух: первый для текущей недели, второй — для анонса темы следующей недели в последнем посте. Тезисы формируются в 2 этапа:

  • Придумать теорию заговора, перевернуть ее с ног на голову: подготовить тезис, и прислать в формате: теория, тезис, заблуждение о тезисе и правда о тезисе.
  • Вырезать теорию заговора, оставив только тезис, заблуждение и правду — тем самым перевернув теорию заговора с ног на голову.

Дата и время постов генерируются случайным образом:

  • Информационный пост: понедельник или вторник с 20:30 до 21:30.
  • Пост с историей: среда или четверг с 20:30 до 21:30.
  • Ритуал: пятница с 20:30 до 21:30.
  • Выводы и анонс темы следующей недели: воскресенье с 18:30 до 20:30.

Далее генерируются сами посты и промты на английском для создания изображений. После создания поста и промта для изображения, они записываются в таблицу данных контент-планов вместе с датой публикации.

Создание промтов — самая сложная и долгая часть реализации. Слабые модели не очень корректно воспринимают контекст, постоянно нарушают инструкции, галлюцинируют и повторяются.

Создание изображений

Создание изображений происходит в ночь с субботы на воскресенье. Для создания изображений используется ComfyUI с моделью SDXL Turbo, которая работает на MacBook Air M1 8GB.

Для всех постов недели запускается генерация изображений по англоязычным промтам, потому что русскоязычные промты генерируют изображения в стиле 19 века. Вместо людей на изображениях — антропоморфные коты, потому что с генерацией кошачьих мордочек слабая нейросеть справляется значительно лучше, чем с человеческими лицами.

Запуск создания изображения осуществляется отдельным запросом. Далее запускается цикл, который раз в некоторое время проверяет состояние генерации изображения. После того, как изображение сгенерировано — оно открывается и загружается по SFTP, а путь к нему записывается в таблицу с контент-планом. Цикл генерирует изображения для всех постов недели.

Размещение поста

Поток размещения поста запускается ежедневно и проверяет, есть ли в контент-плане посты на текущую дату. Если есть — запускается ожидание времени публикации.

В зависимости от наличия ссылки на путь к изображению, происходит размещение поста: если она есть, изображение загружается по SFTP и в телеграм отправляется картинка с подписью, но если ссылки на путь нет — в телеграм выкладывается простой текстовый пост.

Управляющие и вспомогательные потоки

Управляющие потоки для создания текста и изображений запускаются вечером в день генерации контента и отправляют уведомление в Telegram о необходимости запустить приложение и загрузить ИИ-модель. Ночью, после нескольких часов ожидания, запускается основной генерирующий поток, который также можно запустить вручную, если во время автоматического выполнения произошла ошибка.

Вспомогательные потоки — единые для всех проектов и их задача отправлять предупреждения и ошибки в Telegram.

Результаты

В результате мне удалось создать развлекательный псевдоэотерический контент про то, что вышки 3G и 5G защищают от порчи и сглаза, а смартфон — это цифровой щит. Использование слабых локальных моделей на низкопроизводительном оборудовании не портит содержание, а создает дополнительный юмористический аспект.

Используемые практики планирования контента в дальнейшем можно применить для автоматической подготовки контента для контент-менеджеров, SMM-специалистов, email-маркетологов и даже написания полноценных статей — при условии использования производительных облачных или локальных моделей.