Ролевые игры - это захватывающе и интересно. И если вы хотите иметь возможность ролеплеить везде и всегда, то для вас открывается прекрасный мир искусственного интеллекта.
В этом цикле я хотел бы описать полный путь от скачивания до запуска 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. Красные, извините.
Давайте скачаем сразу все, что нам нужно:
KoboldAI Cтавим, но не запускаем.
Вы уже установили 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)
janvarev
19.10.2023 09:00К слову, Таверна поддерживает как локальные, так и удаленные модели - типа ChatGPT. В настройках надо просто указать свой тип соединения, вместо KoboldAPI указать OpenAI; правда, тут потребуется ключ OpenAI, иначе не заработает.
Правда, Таверна поддерживает прокси, так что для ChatGPT можно указать, например, VseGPT (есть инструкция специально для Таверны) и чатиться через него с выбранной моделью. Ну, или если вы найдете какой-нибудь другой OpenAI API прокси, можно сделать так же.
DikSoft
19.10.2023 09:00+2Коммент от пессимиста-циника:
"Задроты с настолок переключились на виртуальный дроч на GPU. Опять видюхи подорожают"
SubMaroon Автор
19.10.2023 09:00UPD: извините, куда-то делся целый блок текста про KoboldAI. Добавил в статью
Tzimie
Тема сисек не раскрыта