Пластиковые фигурки от stable-diffusion-бота (18+)

Автор: Sango

Предысторию этого бота (для чего я его придумал и как он развивался) см. тут:

https://author.today/post/421960

https://author.today/post/424609

https://author.today/post/426227


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

К слову - последние пару-тройку десятков опубликованных мною артов делались именно через него

...просто не добавлял ничего нового - лень было, да и как-то обходился тем что было.

Но несколько дней назад чёт внезапно припёрло, я снова сел за комп, запустил PyCharm, и начал кодить...



1. Решил таки отказаться от концепции двух ботов (старшего и младшего), вновь сведя всё в единое целое. Единственно что теряю при этом - это необходимость вручную запускать генерацию вводом команды gen, в то время как младший начинал генерацию сразу как только вносишь или изменяешь параметры. Но три буквы написать не лень, плюс можно спокойно поиграться с параметрами и не ждать когда получишь новый арт на каждое изменение запроса. А затем чуть позже добавил настройку чтобы можно было включить автогенерацию, хотя пока ей и не пользовался


1а. Тем не менее сделал нового второго бота. Его функционал элементарен как дважды два - вручную запускать основного бота, если тот по какой-то причине крэшнулся. Такое периодически случается из-за всяких незапланированных и непредвиденных ситуаций в работе. Я стараюсь закрывать такие места логикой и обработкой ошибок, но ещё много тонких мест. Поэтому если вдруг крэш - я просто заново запускаю его через резервного бота. Хотя конечно стоит лучше проработать механизм защиты от ошибок и падений.


2. Самое крутое из нового - реализовал интеграцию с civitai.com

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

Интеграцию сделал простую, но полезную, а именно - скачивание новых моделей, а также Lora- и embedding-файлов, с последующим помещением их в нужные директории стаблы. Таким образом к примеру чтобы опробовать новую приглянувшуются модель, мне не нужно идти до компа, скачивать её через браузер и вручную переносить в папку к другим моделям. Я просто отправляю боту ссылку на страницу модели. Всё. Бот сам определит, какой тип файлов предлагают скачать (checkpoint, lora или embedding), найдёт нужный id-шник, осуществит загрузку файла, переложит его в нужную директорию, и обновит список файлов в стабле. Даже если я за кучу километров от дома. Профит!



2а. Ещё немного развил этот концепт, добавив команды удаления модели (если надоела или если слишком забилась память диска), переноса модели в хранилище (просто отдельная папка куда складирую модели которые не хочу пока юзать), и возвращение моделей из хранилища (чтобы опять можно было их использовать для генераций без повторной загрузки). Для файлов lora и embedding аналогичный функционал делать не стал, нет такой необходимости, да и вряд ли появится.


3. Добавил команду add prompt <запрос>. Тут всё просто, можно докинуть в промпт новые слова и фразы для его коррекции

Команду delete prompt <запрос> делать не стал, с ней есть свои заморочки, так что может быть когда-нибудь потом


Из планов которые записал в бэклог:

1. Рефакторинг. Код бота не самый удобоваримый, много копипастов, много неоптимально написанного, трудно поддается модификациям в случае таких необходимостей. Надо взять и переписать всё как следует.

2. Новый механизм работы с параметрами генерации. Хочу сделать отдельным классом, который позволит легко и удобно добавлять стили, перебирать сэмплеры, делать тестовые прогоны, откатываться на стартовые значения. Базово на самом деле уже реализовано, теперь нужно "прокачать".

3. Найти где-нибудь побольше мощности) Даже на ноутбуке с 4 гигами видеопамяти ухитряюсь генерировать картинки размером 512 на 1024 пикселя со скоростью 2 шага в секунду, что весьма и весьма неплохо. Но хочется быстрее - раз. Во время генерации ноут тормозит и почти ничего на нем больше делать нельзя - два. Думаю где взять эти самые мощности. Собирать новый комп только для генерации - жалко (это тыщ 100 уйдет, а я как-никак картинками не зарабатываю), а аренда - тоже дело недешевое (самое дешевле что нашел это 600 рублей в сутки). Но как ни крути за удовольствие надо платить...



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

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


+317
1 157

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

85K 6 048 2 498
Наверх Вниз