Мой путь разработчика телеграм ботов. Бот ПостМастер9000

Всем привет. Меня зовут Евгений. По образованию я культуролог, по деятельности - арбитражник.

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

Спустя месяц на выходе получилось несколько тг-ботов (о них расскажу в следующих постах), но флагманский - ПостМастер9000.

Что это за бот?

ПостМастер9000 автоматически наполняет телеграм каналы с помощью LLM постами по заданным критериям с заданной периодичностью. Механизм простой: нужно добавить канал, выставить настройки и всё, дальше бот будет наполнять канал разнообразным контентом.

Тех. часть

Изначально технически всё готовилось достаточно просто. Прототип был написан за день (Python+json для хранения данных) + 2 дня отлов багов и тестирование и ещё 1 день - доработка части функционала.

Самые главные сложности были связаны с LLM. Как оказалось генеративные нейронки (даже мощные и дорогие) откровенно туповаты для сложной и разнообразной генерации.

Перепробовал разные LLM, множество настроек промтов. В итоге, финальный промт собирается как конструктор, создавая почтив всегда уникальный промт и на выходе уникальный пост.

Плюсом многие LLM, особенно семейства mini, не любят придерживаться строгих промтов, особенно в ограничениях количества символов. Решение - переход на флагманские LLM с кешированием.

Ещё одна сложность - картика + текст. Телеграм ограничивает текст в caption до 1024 символов. Чтобы это обойти, картинка добавляется поверх поста, а сам пост идёт реплаем к картинке.

Для поиска картинок использую api pexels. Но это временное решение, так как картинки часто добавляются нерелевантные.

В планах интегрировать генерацию через LLM, но на данный момент это коммерчески невыгодно.

Ещё у бота есть полноценные админка и система аналитики (пока простая, но информативная).

Вот такой бот и немного сумбурный первый пост. Буду рад критике и любому фидбеку. На вопросы отвечу. юзернейм бота: @postmaster9000_bot

Начать дискуссию