Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

Ролевые игры — это захватывающе и интересно. И если вы хотите иметь возможность ролеплеить везде и всегда, то для вас открывается прекрасный мир искусственного интеллекта.

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

Установка возможна на Windows, Mac (насчёт SillyTavern не уверен) и Linux, на видеокартах Nvidia (хороший выбор), AMD (выбор не очень), и CPU (немного больно)

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

Важная заметка: стоит упомянуть, что ИИ — не человек, и любые его проявления «разума» — случайное совпадение и мракобесие. Держите в голове, что все что пишет машина — плоды математических вычислений, и не более. Ролевые игры с живыми людьми всегда интереснее и красочнее. Спасибо :)

Два пути

Есть два способа для начала игры:

  • SelfHost — все на вашей печке, и она должна быть мощной. ИИ требует много видеопамяти (Или ОЗУ, если запускаете на процессоре). Я проводил тест на GTX 1070 на модели Pygmalion-6B-4bit-128g (это модель «начального» уровня). Производительность - в среднем 15-20 секунд за сообщение. Плюсы: скорость, если у вас более менее мощное железо. Также все, что вы будете писать — останется только на вашей машине, а это важно в запретной любви
  • KoboldAI Horde — Если у вас нет мощного железа. Вам нужно развернуть у себя только SillyTavern и подключиться к моделям, которые хостят неравнодушные энтузиасты. Сама SillyTavern ест только немного вашей ОЗУ. Минусы — долго: желающих много, а хостеров мало, так что рассчитывайте на ~80 секунд за сообщение. Также стоит учитывать, что данные из SillyTavern в KoboldAI хоста передаются в открытом виде, поэтому запретная любовь — можно, но осторожно.

Установка

oobabooga text-generation-webui — интерфейс для запуска LLM моделей, основанный на Stable Diffusion от automatic1111, и мне он показался более удобным и гибким, нежели KoboldAI.

Установка простая:

  • Выбираете удобную папку, и клонируете репозиторий — git clone https://github.com/oobabooga/text-generation-webui
  • Заходите и запускаете start_windows.bat (Также есть ярлыки для установки на Linux и Mac)
  • Ждете, пока скрипт скачает все, что ему нужно
  • В какой-то момент он спросит, какой мод вы хотите выбрать:
Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

Собственно, выбирайте в зависимости от вашего конфига:

  • NVIDIA — Ядра CUDA отлично справляются с нейронками, поэтому это лучший выбор
  • AMD — больно и только на Linux/MacOS. У меня AMD видеокарты нет, так что пишите в комментах свои результаты, если среди вас есть владельцы
  • Apple M Series — для богатых. Генерация быстрее, чем на Intel/AMD CPU, но медленнее, чем на GPU
  • Intel Arc — это видеокарты от Intel. В виду их нераспространенности, инфы по скорости генерации не нашел
  • None — генерация на вашем процессоре. Долго, в районе 120 секунд на маленькой модели, но работает, если нет мощной видеокарты.

Если вы выбрали Nvidia, то далее он спросит про версию CUDA. Если модель вашей видеокарты до тысячной серии, то во-первых, куда вы лезете?! А во-вторых, выбирайте версию 11.8. Подробнее про поддерживаемые версии Cuda тут. Если карточка выше тысячной серии, то пишите "N" и продолжаем.

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

Снова ждем, пока скрипт докачает все, что нужно, и в конце он запустит Web UI. По умолчанию он работает на порту 7860. Если нужно его изменить, то в корневой папке заходите в файл CMD_FLAGS.txt и там пропишите на новой строке --listen-port=6000. Кстати, раз мы сюда зашли, раскоментите строку # --listen --api, убрав символ #, только не занимайте порты 5000 и 5005, они служат для подключения SillyTavern к интерфейсу.

Настройка

Заходим по адресу localhost:7860 и сразу переходим во вкладку models:

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

Для работы интерфейса очевидно нужны LLM модели. Они подразделяются на количество параметров, считается в миллиардах. Модели 1,3B и 2,7B для слабых видеокарт, 6B для средних (как моя 1070), 13B и 20B для топовых карт, и далее до бесконечности. Сколько весит модель, столько и нужно видеопамяти +-2Гб

Класть модели нужно в папку /models.

Но есть лайфхак — квантование. Методика, если интересно, описана в этой статье. Благодаря квантованию вы можете запускать более тяжеловесные модели на меньших мощностях. Если модель подверглась квантованию, то в ее названии будет что-то типа *название модели*-4bit-128g или *название модели*.Q4_K_M

Также модели подразделяются на виды. Запомните три основных — GPU использует GPTQ модели, а CPU — GGML (постарше) и GGUF (поновее) модели. Учитывайте это при поиске. Кстати, ищите их на Hugging Face. Также можете потыкаться и поискать на этом сайте.

GPTQ модели нужно скачивать полностью, для этого вам понадобится git lfs. Команда - git lfs clone *ссылка на модель*. GGML и GGUF модели скачиваются одним файлом, в репозиториях лежит несколько моделей с разной степенью квантования. В карточке модели автор обычно указывает параметры для каждого вида.

Я рекомендую вот эту и эту модель.

А недавно один гигачад сделал рейтинг моделей, изучайте.

Что мне порекомендовали:

mythomax-l2-13b — умная, хорошо пишет, хорошо понимает, держит героя, очень литературная иногда даже слишком, привет Шекспиру.

mythomax-l2-kimiko-v2-13b — тоже самое что верхняя, но больше хорняшности и рукоблудия у героев.

xwin-lm-13b-v0.2 — очень умная, очень хорошо держит контекст и образ, не заваливается под тип писанины пользователя, хорняшная.

MLewd-ReMM-L2-Chat-20B — очень умная, хорошо держит контекст и героя, но страдает тем что скатывается под свои стандарты писанины забывая условия, грешит с местоимениям, супер хорняшная (руки держать на столе привязанные скотчем, иначе рискуете умереть от обезвоживания.)

Примечание: все перечисленные модели здесь - процессорные, подбирайте степень квантования под вашу систему. (прокрутите чуть ниже и увидите таблицу квантования)

Diavator, спасибо за инфу!

Примечание: если в составе какой-либо модели вы видите модели 120-Days-of-LORA и/или sakhi_roleplayer_NSFW_chat_adapter, то ждите очень хорни модели!

Модели нужно класть в папку /models, после этого нажимаете на значок обновления списка:

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

При выборе модели загрузчик будет выбран автоматически. После нажимайте Load:

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

Установка и настройка SillyTavern

Установка SillyTavern практически аналогична:

  • Установите NodeJS
  • git clone https://github.com/SillyTavern/SillyTavern
  • В папке запускайте Start.bat (или Start.sh для Linux).

SillyTavern по умолчанию запускается на порту 8000. Чтобы изменить его, заходите в config.js и пишите свое значение в первой строке port. Также, если планируете подключаться к SillyTavern с другого ПК или телефона, нужно в строке whitelistMode прописать false (ну или прописать все нужные IP в whitelist). При отключении белого списка нужно прописать логин и пароль для входа в строке basicAuthUser, и активировать его в строке basicAuthMode, прописав true. Вот такая паутина. Упомяну, что работать оно будет в локальной сети, то есть либо в одной сети WiFi, либо поднимайте VPN-туннель.

Перезапускайте SillyTavern, и вписывайте имя вашему персонажу.

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

Для начала нужно связать oobabooga и SillyTavern. Заходите в параметры подключения:

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

В Api выбирайте Text Gen WebUI, и если у вас все по дефолту, то она подключится автоматически. Если нет — вписываете свои значения.

Для KoboldAI Horde выбирайте одноименный API, и выбирайте модель из списка.

Ищем персонажа

Основной хаб с персонажами находится на chub.ai. Там и фильтры, и разделение на N/SFW, в общем удобно. Также стоит посетить janitorai .Ну и если вам этого не хватило, есть хранилище персонажей на GDrive.

Все персы хранятся в отдельной вкладке справа:

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

Можно импортировать персонажа из png (лучше так) или json файла, или «облачно», вставив ссылку с chub.ai

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

Чтобы персонажи понимали ваш язык и сами отвечали на вашем родном — есть поддержка переводчиков Google (бесплатно) и DeepL (нужен токен, платно). Есть DeepLX, чтобы бесплатно пользоваться DeepL, но разобраться в нем я предлагаю вам самим, там несложно.

Настройки перевода находятся во вкладке Extras:

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

Раскрываете вкладку Chat Translations, выбираете поставщика перевода и свой язык:

Виртуальный ролеплей, часть 1: Гайд по установке и первый запуск oobabooga + SillyTavern

В общем-то уже можно играть! Общайтесь, развлекайтесь! Подробнее про настройку и использование SillyTavern описано во второй части.

Спасибо ему, ей и другим комментаторам за косвенную и прямую помощь в создании этого гайда.

Ставьте плюсы, делитесь опытом в комментариях, и приятного ролеплея!

62
107 комментариев

Мне из нсфв моделей пока понравился MLewdBoros
И очень сильно бустит качество любой писанины пресет Пигмалиона
https://huggingface.co/TheBloke/MLewdBoros-L2-13B-GPTQ

3
Ответить

О, Блочик, он по жалуй в сети самый лучший поставщик моделек. Лева у нее даже вроде есть Ахегао-вариация сборки, там куда ни ткни диалог закончится сплошным поревом и попытками ИИ залезть тебе в трусы. Если у тебя реально "виртуальная любовница" то моделька безусловно на первом месте по пошлости, а вот если ты хочешь отыграть что-то, она тупенька и ее повышенная хорняшность очень мешает.
Я бы сравнила разнообразие моделей с шоколадом. Вот ты приходишь в кондитерскую, вокруг тебя один шоколад, но он весь разный. Где-то есть изюм, кто-то карамель добавил, а где-то - соль насыпали. Вот модели так же, их надо подбирать под себя, свои потребности. И я говорю не о размере вариаций в виде 7B или 70B и не о квантовании Q2 -Q8, я говорю о том на чем учили нейронку. Ну и контекст, сколько держит модель, есть модели чистой ЛЛамы которые 16к контекста держат, но при этом они кастрированы в плане эротики. Короче, вывод прост: тестим и подбираем под себя!

5
Ответить

Какой-нибудь character ai бы локально и без этих глупых фильтров, ех. Но это уж больно жирно...

3
Ответить

Живем с тем, что есть)

2
Ответить

Как человек, который играет в текстовые ролевки почти 20 лет всех жанров и видов (форумные, тет-а-тет, 21+, с ГМ и без), и пробовавший таверну, могу сказать, что в настоящее время реального соигрока она заменить не может. У неё есть плюс - не надо ждать ответа и можно вывернуться, заставив её делать почти всё что угодно, но ты жертвуешь качеством в таком объеме, после которого полноценнрй ролевкой это называться не может. К тому же, нормальные долговременные игры не потянет пока что даже GPT4 тупо из-за доступного контекста, 100к токенов это хоть и много, но на русском, на самом деле, не так уж. И уже через короткое время нейронка начинает ловить шизу, если у тебя сильно раздут контекст игры.

Поэтому пока круто для:
- специфических кинковых штук, на которые найти соигрока просто сложно или около невозможно
- побаловаться "здесь и сейчас"
- если самоцелью является именно игра с ИИ, в том плане, что кто-то находит в этом свой шарм и его прет от возможности взаимодействовать с ИИ

Для всего остального живые игроки всё ещё лучше и важнее. Сообщество живо и живее будет.

2
Ответить

Все верно :)

1
Ответить

Во всём почти разобрался, кроме Api, вместо Text Gen WebUI, обычный Text Completion - В списке Text Gen WebUI нету, так же просит api key.

2
Ответить