Мой опыт в написании телеграм бота с помощью нейросетей
При принятии решений я обычно руководствуюсь всей полученной о проблеме информацией, но иногда ее катастрофически недостаточно, и тогда возникают проблемы. Все еще необходимо принять взвешенное решение, но на чистый рандом в виде монетки переходить не хочется. Традиционные колоды карт типа таро также не давали нужного результата, потому что ты часто получаешь ответ оторванный от темы вопроса. Со временем, единственной колодой оставшейся у меня в использовании оказалось Ошо Дзен Таро. Это была физическая колода, которую я купила лет так 10-12 назад.
Вообще, Ошо Дзен Таро — это колода карт, направленная не на предсказание будущего, а на глубокое понимание настоящего и познание себя. В отличие от классических таро, карты Ошо Дзен Таро не содержат традиционных арканов, а их изображения и значения ориентированы на медитацию и личное осознание. Каждая карта представляет собой иллюстрацию, отражающую определенные аспекты внутреннего состояния или жизненной ситуации, побуждая человека к осмыслению своих эмоций, мыслей и действий. Это не гадательный инструмент, а метод для раскрытия интуитивного восприятия и поиска гармонии в настоящем моменте. Другими словами - они дают не конкретный совет или предсказание, а направление для размышления, и, в зависимости от контекста, их ответ может позволить посмотреть на проблему с совершенно неожиданной стороны или увидеть где еще могут быть подводные камни. Особенно ярко это проявляется в отношениях, конечно же, чужая душа - потемки и все такое.
Охота было иметь колоду, которая всегда под рукой. Я - ленивый человек (мама, прости) и это слишком сложно найти в гугле нужный сайт, порыться у него в меню и жамкнуть кнопку "Быстрое гадание". Самое идеальное - нажать ПЫЩЬ и вот у тебя и карта и описание и все на свете. Но поиск по ботам не давал никаких результатов, и поиск в интернете тоже не выдавал ничего подобного. Питона я не знаю, и учить его неохота, поэтому написание бота висело в списке "на когда-нибудь потом", там же где 100500 самых лучших фильмов для просмотра зимними вечерами, и книги, которые висят еще с летнего школьного списка за 5 класс.
Где-то полгода по работе я активно пользовалась чатом жпт, поэтому, наверное, это был вопрос времени, когда я у него спрошу, что нужно, чтобы получить красивый и, главное, рабочий код бота. Из каждого утюга же орут, что нейросети заменят программистов. Для баланса, я спрашивала об этом Гигачат Сбера, но на все вопросы тот отвечал мне: "Я не знаю, у меня лапки". Идите нафиг, Сбер, с таким отношением к работе, можете научить его хотя бы сайты парсить.
И вот день моего рождения, он пришелся на середину недели, гостей не жду, дата еще такая некрасивая, подкрадывается старость и думаю, ну точно надо сделать что-то полезное, хотя бы для себя. Открываю чатжпт, и пишу промпт:
напиши мне код для рандомной отправки картинок из базы данных с описанием в телеграм
на что он мне сразу выдает готовый код с инструкциями: если коротко, это простейшая база данных на sqlite3 и исполняемый файл со скриптом. Я создала бот в телеграме через @botfather и зафигачила его хэш в скрипт. Добавила пару картинок и описаний к ним в базу. Думаете все завелось? Нет, конечно. Бот упорно мне не отсылал ничего. Я снова обращаюсь к чату, чтобы тот добавил мне в скрипт вывод ошибок в консоль, чтобы я хотя бы близко понимала, на чем он валится. Оказалось, он падал в ситуации, когда у картинки не было описания, потом картинка была совсем не рандомная, а всегда одна, но чат сам поправил эти проблемы после того как я их описала. Плюсом пришлось запросить код кнопки "Гадать снова", нам ведь нужен заветный ПЫЩЬ.
Собственно, дело осталось за малым - надо было заполнить базу. И если все танцы с кодом закончились часа за два, то выбрать самое главное из описания карты (у дескрипшена в телеграме ограничение примерно 1000 символов) это была прямо работа в свободное время недели на две.
А дальше мне нужно было засунуть все в облачное хранилище, и чтобы приложение можно было развернуть из любого места я завернула базу и код каждый в свои докер-контейнеры со своими зависимостями, заменила базу на mariaDb, написала отдельно скрипты на бэкап базы данных, на миграцию, разместила все и теперь довольна и счастлива.
Отдельно хочу сказать, что оптимизировать чатом можно только самые простые процессы, и переизбытка айтишников никогда не будет.
Так как я делала это все для себя, по фану, думаю, что бот будет навсегда бесплатным (ну как навсегда, пока я плачу за облако абонентку. Велкам!
@zenrandom_bot