Нейросеть и боты
March 24, 2023

ULTRA | Хостим Midjourney в Discord

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

Использовать мы будем нейросетку StableDiffusion, на которую накинем моделей.

  • Сразу скажу, что гарантии того, что бот будет работать 24/7 — нет, связано это с ограничениями предоставляемого гуглом сервера (как и по железу, так и по времени).

Для начала проясним, что нам понадобится:​

  1. Аккаунт в Google​
  2. Немного времени​
  3. Установленный python версии 3.10.x (не ручаюсь, что версии ниже будут работать)​
  4. Установленный pip​
  5. Хост для бота в Discord (только для него, и то по желанию)​

Шаг 1. Настройка нашего сервера

Первое что мы делаем - переходим по ссылке

Перед нами открывается вот такая картина, на ней мы входим в наш гугл аккаунт.

После того, как мы вошли в аккаунт, скроллим чуть ниже и находим поле "commandline_arguments:". В него мы пишем следующее:

--api --listen

Отлично, далее мы заходим на сайт ngrok, чтобы получить токен и воспользоваться нейросеткой.

Регистрируем свой аккаунт там, думаю разберетесь. Далее нас перекинет вот сюда, тут нам нужно получить вот этот токен:

Копируем этот токен, и ищем поле "ngrok_token:", вставляем туда токен.

В "ngrok_region" выбираем eu.

Шаг 2. Запуск нейронки

Теперь запустим нашу нейронку. Нажимаем на кнопку под "Start", и ждём пока не появится вот это сообщение:

​Теперь вы можете перейти по ссылке (которая eu.ngrok), и у вас откроется веб-версия вашей нейронки!

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

Для генерации жмете на "Generate".

Модель - это то, что по сути будет генерировать нашу картинку. Если вы заметили, то при настройке сервера там были разные галочки:

Это модели, которые мы можем скачать сразу. Чтобы понять, какая модель что делает - просто гуглим. К примеру, модель anything генерирует нам изображения в аниме-стилистике. Если вам мало этих моделей (а вам их будет мало ), то советую заглянуть на этот сайт.

Тут много очень хороших моделей, которые вы можете установить. Как именно устанавливать разные модели на наш сервер я расскажу дальше в статье, когда будем ставить Discord-бота.

Однако, если вы хотите пойти ещё дальше и подключить эту нейронку в дискорд бота, то читаем дальше.

Шаг 3. Создание и подключение Discord-Бота

Заходим вот сюда, при надобности входим в свой дс аккаунт. Далее нажимаете на кнопку New Application, ставим любое название. Переходим в наше приложение, открываем вкладку Bot, и жмём Add Bot.

Сразу же, после создания, включаем эти галочки:

Они нам нужны, чтобы работали slash-команды и не было проблем с ботом. Далее заходим сюда, чекаем вот эти галки:

Снизу есть поле "Generated URL", это и есть ссылка на нашего бота. Открываем её в браузере и приглашаем бота туда, куда нам надо.

Отлично, бота мы добавили. Теперь, нам нужен сам код бота, который будет работать с нашей нейронкой и выдавать картинки в дискорд.

Для этого просто заходим на гитхаб и пишем в поиск что-то типа "stable diffusion discord bot".

Вот список ботов, которые я считаю хорошими:

Разбирать каждого мы не будем, если захотите - сможете разобраться, там не сложно . Я остановлюсь на aiyabot.
И так, в моём случае, открываем эту ссылку, тыкаем сюда и скачиваем архив.

Распаковываем, открываем, видим множество файлов. Нас интересует вот этот файл:

Открываем его, и видим там параметр url. Туда мы вписываем ту самую ссылку (eu.ngrok), которую выдал нам наш google colab.

Отлично, теперь, рядом с файлом aiya.py создаем файл под названием ".env" (обязательно с точкой). Туда пишем вот это:

TOKEN = mydiscordtoken

Как вы поняли, туда мы пишем токен от нашего дискорд бота. Получить вы его можете там же, где и создали. Теперь запускаем файл launch.bat, и наш бот запускается

Открываем дискорд, пишем команду /draw и указываем то, что хотим сгенерировать!
Про параметры я расписал в микро-экскурсе, можете почитать там. Но в кратце продублирую:

Если вам лень искать negative_prompts, то можете выбрать мои:

(low quality, worst quality:1.4), (bad anatomy), (inaccurate limb:1.2), bad composition, inaccurate eyes, extra digit, fewer digits, (extra arms:1.2)


lowres, ((bad anatomy)), ((bad hands)), text, missing finger, extra digits, fewer digits, blurry, ((mutated hands and fingers)), (poorly drawn face), ((mutation)), ((deformed face)), (ugly), ((bad proportions)), ((extra limbs)), extra face, (double head), (extra head), ((extra feet)), monster, logo, cropped, worst quality, low quality, normal quality, jpeg, humpbacked, long body, long neck, ((jpeg artifacts))


(((deformed))), blurry, bad anatomy, disfigured, poorly drawn face, mutation, mutated, (extra_limb), (ugly), (poorly drawn hands), fused fingers, messy drawing, broken legs censor, censored, censor_bar, multiple breasts, (mutated hands and fingers:1.5), (long body :1.3), (mutation, poorly drawn :1.2), black-white, bad anatomy, liquid body, liquidtongue, disfigured, malformed, mutated, anatomical nonsense, text font ui, error, malformed hands, long neck, blurred, lowers, low res, bad anatomy, bad proportions, bad shadow, uncoordinated body, unnatural body, fused breasts, bad breasts, huge breasts, poorly drawn breasts, extra breasts, liquid breasts, heavy breasts, missingbreasts, huge haunch, huge thighs, huge calf, bad hands, fused hand, missing hand, disappearing arms, disappearing thigh, disappearing calf, disappearing legs, fusedears, bad ears, poorly drawn ears, extra ears, liquid ears, heavy ears, missing ears, fused animal ears, bad animal ears, poorly drawn animal ears, extra animal ears, liquidanimal ears, heavy animal ears, missing animal ears, text, ui, error, missing fingers, missing limb, fused fingers, one hand with more than 5 fingers, one hand with less than5 fingers, one hand with more than 5 digit, one hand with less than 5 digit, extra digit, fewer digits, fused digit, missing digit, bad digit, liquid digit, colorful tongue, blacktongue, cropped, watermark, username, blurry, JPEG artifacts, signature, 3D, 3D game, 3D game scene, 3D character, malformed feet, extra feet, bad feet, poorly drawnfeet, fused feet, missing feet, extra shoes, bad shoes, fused shoes, more than two shoes, poorly drawn shoes, bad gloves, poorly drawn gloves, fused gloves, bad cum, poorly drawn cum, fused cum, bad hairs, poorly drawn hairs, fused hairs, big muscles, ugly, bad face, fused face, poorly drawn face, cloned face, big face, long face, badeyes, fused eyes poorly drawn eyes, extra eyes, malformed limbs, more than 2 nipples, missing nipples, different nipples, fused nipples, bad nipples, poorly drawnnipples, black nipples, colorful nipples, gross proportions. short arm, (((missing arms))), missing thighs, missing calf, missing legs, mutation, duplicate, morbid, mutilated, poorly drawn hands, more than 1 left hand, more than 1 right hand, deformed, (blurry), disfigured, missing legs, extra arms, extra thighs, more than 2 thighs, extra calf,fused calf, extra legs, bad knee, extra knee, more than 2 legs, bad tails, bad mouth, fused mouth, poorly drawn mouth, bad tongue, tongue within mouth, too longtongue, black tongue, big mouth, cracked mouth, bad mouth, dirty face, dirty teeth, dirty pantie, fused pantie, poorly drawn pantie, fused cloth, poorly drawn cloth, badpantie, yellow teeth, thick lips, bad camel toe, colorful camel toe, bad asshole, poorly drawn asshole, fused asshole, missing asshole, bad anus, bad pussy, bad crotch, badcrotch seam, fused anus, fused pussy, fused anus, fused crotch, poorly drawn crotch, fused seam, poorly drawn anus, poorly drawn pussy, poorly drawn crotch, poorlydrawn crotch seam, bad thigh gap, missing thigh gap, fused thigh gap, liquid thigh gap, poorly drawn thigh gap, poorly drawn anus, bad collarbone, fused collarbone, missing collarbone, liquid collarbone, strong girl, obesity, worst quality, low quality, normal quality, liquid tentacles, bad tentacles, poorly drawn tentacles, split tentacles, fused tentacles, missing clit, bad clit, fused clit, colorful clit, black clit, liquid clit, QR code, bar code, censored, safety panties, safety knickers, beard, furry, pony, pubic hair, mosaic, futa, testis, (((deformed))), blurry, bad anatomy, disfigured, poorly drawn face, mutation, mutated, (extra_limb), (ugly), (poorly drawn hands), fused fingers, messy drawing, broken legs censor, censored, censor_bar, multiple breasts, (mutated hands and fingers:1.5), (long body :1.3), (mutation, poorly drawn :1.2), black-white, bad anatomy, liquid body, liquidtongue, disfigured, malformed, mutated, anatomical nonsense, text font ui, error, malformed hands, long neck, blurred, lowers, low res, bad anatomy, bad proportions, bad shadow, uncoordinated body, unnatural body, fused breasts, bad breasts, huge breasts, poorly drawn breasts, extra breasts, liquid breasts, heavy breasts, missingbreasts, huge haunch, huge thighs, huge calf, bad hands, fused hand, missing hand, disappearing arms, disappearing thigh, disappearing calf, disappearing legs, fusedears, bad ears, poorly drawn ears, extra ears, liquid ears, heavy ears, missing ears, fused animal ears, bad animal ears, poorly drawn animal ears, extra animal ears, liquidanimal ears, heavy animal ears, missing animal ears, text, ui, error, missing fingers, missing limb, fused fingers, one hand with more than 5 fingers, one hand with less than5 fingers, one hand with more than 5 digit, one hand with less than 5 digit, extra digit, fewer digits, fused digit, missing digit, bad digit, liquid digit, colorful tongue, blacktongue, cropped, watermark, username, blurry, JPEG artifacts, signature, 3D, 3D game, 3D game scene, 3D character, malformed feet, extra feet, bad feet, poorly drawnfeet, fused feet, missing feet, extra shoes, bad shoes, fused shoes, more than two shoes, poorly drawn shoes, bad gloves, poorly drawn gloves, fused gloves, bad cum, poorly drawn cum, fused cum, bad hairs, poorly drawn hairs, fused hairs, big muscles, ugly, bad face, fused face, poorly drawn face, cloned face, big face, long face, badeyes, fused eyes poorly drawn eyes, extra eyes, malformed limbs, more than 2 nipples, missing nipples, different nipples, fused nipples, bad nipples, poorly drawnnipples, black nipples, colorful nipples, gross proportions. short arm, (((missing arms))), missing thighs, missing calf, missing legs, mutation, duplicate, morbid, mutilated, poorly drawn hands, more than 1 left hand, more than 1 right hand, deformed, (blurry), disfigured, missing legs, extra arms, extra thighs, more than 2 thighs, extra calf,fused calf, extra legs, bad knee, extra knee, more than 2 legs, bad tails, bad mouth, fused mouth, poorly drawn mouth, bad tongue, tongue within mouth, too longtongue, black tongue, big mouth, cracked mouth, bad mouth, dirty face, dirty teeth, dirty pantie, fused pantie, poorly drawn pantie, fused cloth, poorly drawn cloth, badpantie, yellow teeth, thick lips, bad camel toe, colorful camel toe, bad asshole, poorly drawn asshole, fused asshole, missing asshole, bad anus, bad pussy, bad crotch, badcrotch seam, fused anus, fused pussy, fused anus, fused crotch, poorly drawn crotch, fused seam, poorly drawn anus, poorly drawn pussy, poorly drawn crotch, poorlydrawn crotch seam, bad thigh gap, missing thigh gap, fused thigh gap, liquid thigh gap, poorly drawn thigh gap, poorly drawn anus, bad collarbone, fused collarbone, missing collarbone, liquid collarbone, strong girl, obesity, worst quality, low quality, normal quality, liquid tentacles, bad tentacles, poorly drawn tentacles, split tentacles, fused tentacles, missing clit, bad clit, fused clit, colorful clit, black clit, liquid clit, QR code, bar code, censored, safety panties, safety knickers, beard, furry, pony, pubic hair, mosaic, futa, testis

А получилось что-то анимешное потому, что у нас только одна модель по дефолту - anything-v4.5

Чтобы получить результат, как на картинке, нам нужна модель по-лучше. Заходим на сайт civitai.com, и выбираем модель. Я выбрал вот эту.

Далее, копируем ссылку для скачивания:

Теперь нам нужно как-то установить её на наш сервер. Для этого создаём новую ячейку кода в нашем google colab, делаем вот так:

И в появившимся поле мы вставляем вот этот код:

%%shell
cd "/content/stable-diffusion-webui/models/Stable-diffusion"
wget "наша скопированная ссылка" --content-disposition

Теперь, нам надо остановить наш колаб (нажмите на кнопку под Start ещё раз и дождитесь пока выключится).

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

(это всё в папке stable-diffusion-webui). Для этого открываем файл models.csv в папке с ботом и пишем туда вот это:

Первая колонка - DreamShaper - название в боте, пишем что угодно.

Вторая колонка - это сам файл без расширения.

Третью колонку оставьте пустой. (Не забудьте про знак "|" как на скрине в конце).

Ну вот и все, меняем модель на скачанную через команду /settings:

Ну и получаем вот такой результат:

Освой более 10 способов онлайн заработка в нашем закрытом комьюнити ULTRA by P2P Lab

По вопросам приобретения подписки: @p2p_lab_support