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

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

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

Статья рассчитана на установку на ОС Windows и на видеокарты Nvidia. Работа на CPU тоже будет рассмотрена. На Linux установка также возможна, но в статье рассматриваться не будет.

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

Два пути

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

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

  • KoboldAI Horde. Если у вас нет мощного железа. Вам нужно развернуть у себя только SillyTavern и подключиться к моделям, которые хостят неравнодушные энтузиасты. Сама SillyTavern ест только вашу ОЗУ, и то немного (Около 400Мб). Минусы - долго. Желающих много, а хостеров мало, так что производительность - в среднем 110-120 секунд за сообщение в напряженные часы, а это весь день кроме раннего утра и глубокой ночи. Также стоит учитывать, что данные из SillyTavern в KoboldAI хоста передаются в открытом виде, поэтому лучше не писать какие-либо чувствительные данные при использовании Horde.

Установка

Основной метод запуска KoboldAI - на мощностях GPU. Ядра CUDA на видеокартах Nvidia отлично справляются с обработкой ИИ. Тут можно посмотреть, есть ли в вашей видеокарте эти ядра. На CPU медленнее, но тоже можно, на AMD можно, но с костылями и тоже медленно. В статье будет рассматриваться установка на Nvidia. Красные, извините.

Давайте скачаем сразу все, что нам нужно:

  • Nvidia ToolKit

  • VS Build Tools

  • Git

  • Git LFS

  • KoboldAI Cтавим, но не запускаем.

  • NodeJS

  • Вы уже установили Git? Отлично! Запускаем cmd, выбираем папку, в которой будем держать Silly Tavern и пишем git clone https://github.com/SillyTavern/SillyTavern

  • Если ваша видеокарта располагает физической памятью менее 10Гб, то качаем патч, его нужно поместить в папку с уже установленным KoboldAI и запустить.

Запуск и настройка

KoboldAI

Запускаем KoboldAI либо с рабочего стола, либо play.bat из папки.

По стандарту он запускается на порту 5000. Если нужно разместить его на другом порту, то необходимо зайти в свойства ярлыка KoboldAI и дописать аргумент --port. Выглядеть должно вот так: X:\KoboldAI\play.bat --port=ваш порт

После запуска браузер должен автоматически открыть страницу с веб-интерфейсом:

Заходим в вкладку AI и выбираем модель:

Модели подразделяются на количество параметров, считается в миллиардах. Интерфейс KoboldAI дает представление, сколько Гб видеопамяти вам понадобится для разных моделей. 2,7B для слабых видеокарт, 6B для средних (как моя 1070), 13B для топовых карт, и далее до бесконечности. Грубо говоря: в среднем какое число параметров у модели - столько и нужно Гб видеопамяти +2-4Гб.

Но есть лайфхак - квантование. Методику оптимизации моделей я не объясню, но если вам очень интересно, как оно происходит, то вот очень подробная статья. Благодаря квантованию вы можете запускать более тяжеловесные модели на меньших мощностях.

  • В cmd зайти в папку KoboldAI\models

  • git lfs clone https://huggingface.co/mayaeary/pygmalion-6b-4bit-128g

  • Как git отработает, зайти в папку models и переименовать файл с расширением .savetensors в 4bit-128g.savetensors

Также у этого автора есть модель версии _dev. Она более разговорчивая, но менее хорни. Скачивание аналогичное - git lfs clone https://huggingface.co/mayaeary/pygmalion-6b_dev-4bit-128g

В интерфейсе KoboldAI эта модель будет лежать в первой вкладке - Load a model from its directory.

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

Работа KoboldAI на процессоре - долго и мучительно, но если есть мощный проц, а на видеокарту не хватило, то попробовать можно.

CPU

Для запуска на CPU существует KoboldCPP

Скачиваете, запускаете. В нем не так много настроек. В Threads указываете, сколько ядер процессора будет использовано под ИИ, ниже в Model выбираете скачанную модель и нажимаете Launch. Во вкладке Network можно указать порт, на котором будет доступна модель, или сконфигурировать программу как хоста для KoboldAI Horde.

Важно!

KoboldAI для GPU использует GGML модели, а для CPU - GGUF модели. Учитывайте это при поиске.

SillyTavern

Короткое отступление. SillyTavern - лучшая, по моему мнению, надстройка для KoboldAI, но она еще далека от идеала. В ней есть недочеты, и их постепенно исправляет автор и сообщество. Вы можете присоединиться к нему, и внести свой вклад в развитие проекта пул-реквестом!

SillyTavern по умолчанию запускается на порту 8000. Чтобы изменить порт, заходите в config.js, самая первая строка за него отвечает. А строка whitelistMode отвечает за включение или отключение белого списка (whitelist). Чтобы подключаться с других устройств, либо пропишите IP-адреса, либо выключите whitelistMode, прописав false. В случае отключения белого списка необходимо будет включить авторизацию (basicAuthMode = true, и впишите логин/пароль в параметре basicAuthUser)

Запускается интерфейс с файла Start.bat (Start.sh на Linux) и встречает нас приветственным сообщением с просьбой выбрать имя вашему персонажу:

Первым делом

Selfhost

Сначала необходимо связать KoboldAI и SillyTavern. Нажимайте на иконку вилки, выбираете из списка Api KoboldAI и вписывайте адрес вашего хоста. Скорее всего это http://127.0.0.1:5000/api. В моем случае хост - мой компьютер, а SillyTavern на ноутбуке.

Чтобы вы могли подключаться к KoboldAI с других устройств, запускайте ярлык с аргументом --host. В свойствах ярлыка это должно выглядеть вот так: X:\KoboldAI\play.bat --host.

Замечу, что подключиться из SillyTavern к KoboldAI вы сможете только после того, как выберете модель в нем! И установите галочку для вашего удобства.

KoboldAI Horde

Есть некоторое количество очень добрых людей с мощными ПК, которые хостят KoboldAI для всех желающих. Чтобы присоединиться к этой сети, во вкладке подключения из списка API выберите KoboldAI Horde и выбирайте модель по душе. Лучше зарегистрироваться на их сайте и вписать токен в SillyTavern, ответ от модели будет генерироваться быстрее.

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

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

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

Быстрый старт

Если вы загружаете персонажа с chub.ai, то можно нажать кнопку облачной загрузки. Там вписываете ссылку на персонажа и SillyTavern добавляет его в список.

Ну а если загружаете персонажа с любого другого ресурса, то скачиваете его либо в виде json-файла, либо в виде png-файла (Этот вариант лучше, так как в json-файле нет аватарки персонажа), и загружаете его с помощью этой иконки:

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

Найти настройки перевода вы можете во вкладке Extras:

Там раскрываете вкладку Chat Translations и выбираете поставщика перевода и свой язык.

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

Благодарности

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

Комментарии (9)


  1. Tzimie
    19.10.2023 09:00
    +6

    Тема сисек не раскрыта


  1. Tzimie
    19.10.2023 09:00
    +6

    Тема сисек не раскрыта


  1. janvarev
    19.10.2023 09:00
    +1

    Лайк. Из моделей, кстати, рекомендую более свежий Mythalion - это микс MythoMax и Pygmalion2. Он основан на более свежей Llama2.


    1. SubMaroon Автор
      19.10.2023 09:00

      Спасибо за совет! Попробую ее и добавлю в пост, если эта модель будет такой же быстрой в сравнении с обозреваемой


  1. janvarev
    19.10.2023 09:00

    К слову, Таверна поддерживает как локальные, так и удаленные модели - типа ChatGPT. В настройках надо просто указать свой тип соединения, вместо KoboldAPI указать OpenAI; правда, тут потребуется ключ OpenAI, иначе не заработает.

    Правда, Таверна поддерживает прокси, так что для ChatGPT можно указать, например, VseGPT (есть инструкция специально для Таверны) и чатиться через него с выбранной моделью. Ну, или если вы найдете какой-нибудь другой OpenAI API прокси, можно сделать так же.


  1. WondeRu
    19.10.2023 09:00
    +1

    Для меня linux mandriva в 2003 был любовницей - сколько же я натрахался с ней. И без ИИ.


    1. sormon
      19.10.2023 09:00
      +1

      у меня похожая история, только напомню, что тогда она была не Mandriva, а Mandrake Linux =)


    1. SubMaroon Автор
      19.10.2023 09:00

      Это отдельный вид фетишей)


  1. DikSoft
    19.10.2023 09:00
    +2

    Коммент от пессимиста-циника:

    "Задроты с настолок переключились на виртуальный дроч на GPU. Опять видюхи подорожают"


  1. SubMaroon Автор
    19.10.2023 09:00

    UPD: извините, куда-то делся целый блок текста про KoboldAI. Добавил в статью