Бото-новости + очаровательные индеаночки (18+)

Автор: Sango

Снова рублика всратых бото-новостей в вашей ленте 😅


Для тех кто вдруг не в курсе: развлекаю себя тем что пишу хуйню телеграмм-бота для управления клиентом stable diffusion установленном на домашнем ПК. Проекту более полугода, начал говнокодить еще в прошлом году. Пишу не спеша, под свои хотелки ради сисек. На данный момент говнокод бота содержит почти 2.5к строчек кода и будет расти и дальше, обрастая новыми фишками. О том что имеется на данный момент… ну тут надо ковыряться в ленте, искать соответствующие посты, формировать порядок… но мне как обычно лень 🦥 


Итак, что нового прикрутил на этот раз?

1. История изменений запросов. Достаточно полезная вещь на самом деле, давно о ней думал. Когда поэтапно корректируешь запрос в стремлении добиться нужного результата, часто случается так что результат сворачивает куда-то «не туда», и надо откатываться назад. Для удобства этого процесса и сделал новый механизм. Теперь ввод запроса или любое его изменение создает запись в… сперва хотел поупражняться в работе с базами данных и заюзать SQLite (встроена в питон и имеет простенькую библиотеку работы с ней по умолчанию), но потом решил что костыли это наше всё, и написал псевдо-базу на основе json. Со своей задачей она справляется, ну и отлично.

В планах немного прокачать работу с базой. Например отслеживать ситуации когда запрос не изменился (открыл редактор и тут же закрыл), или если запрос уже есть в базе (чтобы не создавать новую запись а использовать уже имеющуюся). Экономия памяти конечно ни о чем (один мегабайт вмещает в себя несколько сот записей, в у меня этих мегабайтов как у алкаша боярышника), но чисто по фану…

2. Генерация по пачке запросов. Тоже старая задумка. Вводишь с десяток запросов (своих или найденных в интернете), и по одной команде бот прогонит каждый запрос по всем моделям. Идешь пить чай, а через часок открываешь телеграмм и смотришь на результаты, выбирая что понравилось и отбраковывая неудобоваримое.

К слову - данный функционал может быть еще буду переписывать для оптимизации процесса. Сейчас сделал максимально дуболомно и неэффективно. Если имеется N запросов и M моделей, то бот совершит N*M переключений моделей. А каждое переключение занимается порядка 10-20 секунд (иногда и больше) времени. Оптимально было бы сперва прогонять все запросы на каждой модели, и только потом переключаться на следующую. Но делал по быстрому, на основе уже имеющихся методов, которые работают как работают. Да и если запускать такую оптовую генерацию на ночь пока спишь, то в принципе как-то похрен на оптимизацию. Так что может и не буду ничего переделывать, не знаю пока…

3. Пилю новый механизм распределения моделей. Раньше… то бишь сейчас у меня на компе запускается несколько дистрибутивов стаблы - один с моделями а-ля аниме, один с моделями SDXL, один с моделями реализм… концепт в общем понятен. Переключение между ними происходит простой сменой базового URL. Просто, проверено, быстро. Но есть ощущение что даже простаивающий но рабочий дистрибутив неплохо так нагружает железо и забивает память. Поэтому решил попробовать сделать по другому - не менять дистрибутивы, а тупо перемещать модели из основной папки в буферные. Не так элегантно, но позволит  обойтись всего одним дистрибутивом стаблы (который сам по себе даже без моделей весит 10 гигов, что дает дополнительную экономию места) и уменьшить нагрузку на систему.

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

5. По мелочи - улучшил (или наоборот ухудшил) встроенный переводчик, убрал неиспользуемые элементы из интерфейса, выпилил пару устаревших методов, чутка рефакторинга…


А еще вытащил из закромов другого самописного бота, использующий в качестве генератора изображений сервис perchance.org. Тоже дал ему рефакторинга, прикрутил пару фишек из основного бота вроде inline-кнопок и редактирования промпта. По мелочи, так как сей бот резервный, не такой функциональный как основной, не так круто генерит, и делался чисто для развлечения. Зато код менее 500 строк, и полная независимость от вычислительных мощностей, хоть на ноутбуке 15-летней давности запускай!


Такие вот бото-новости)


А вообще в запросе использовались ключи indigenous и native people, то бишь туземец и коренные жители. Четких указаний именно на индейцев не было. Да и в принципе заметно что получившиеся образа являются чем-то усредненным, нечто между индейцами и туземцами. Что впрочем не умаляет их красоты и очарования ☺


+394
1 090

0 комментариев, по

85K 6 058 2 495
Наверх Вниз