Нейросети развились до такой степени, что с ними можно проводить время и выстраивать ролевые сюжеты. Этот текст — попытка заинтересовать вас войти в мир РП, в частности РП с нейросетью в интерфейсе SIllyTavern.
Это ремейк моих постов про текстовые нейронки. Тут будет много воды для тех, кто уже шарит, но для непосвященных, надеюсь, будет интересно. В следующих частях уже будет углубление в тему.
Также хочу выразить огромную благодарность Diavator и VV за помощь в изучении темы.
Да в целом все просто. Есть персонаж с прописанным бекграундом, сюжетом и завязкой. На основе этой завязки ты пишешь свой текст, потом ИИ тебе отвечает в рамках сюжета, и так далее и так далее.
Что привлекает в ИИ-ролеплее? Ну во-первых, у тебя всегда есть собеседник. Персонажей тысячи, на любой вкус и цвет. А если нет того, который бы тебя устраивал — просто напиши своего, это не очень сложно.
Во-вторых — максимальная свобода. Тут реально царит тотальная анархия в плане цензуры, начиная с самих моделей ИИ, заканчивая персонажами. И во славу Плети, что до комьюнити ИИ-ролеплея еще не добрались цензоры, очень чувствительные персоны с тонкой натурой или обостренным чувством справедливости.
Нет, я серьезно, ты можешь делать вообще ВСЕ, вплоть до откровенно жесткой чернухи, и нейросеть, не обремененная цензурой это спокойно отыграет.
Чтобы вы сразу поняли, чего стоит и не стоит ждать от ИИ-ролеплея. Вы не получите длинную историю (upd: без углубления в тему), 8-месячный отыгрыш внутри гильдии с кучей игроков и глубоким лором, как в варкрафте в былые времена ждать не стоит, к сожалению. ИИ-персонаж «живет» максимум где-то 200-250 сообщений в чате. Это примерно 2-4 часа, в зависимости от длины сообщений.
В среднем у меня получались истории на час-полтора, потому что я конченый виабу, который просто хочет покутить со своими вайфу. Если персонаж очень хорошо прописан, а модель очень мощная, то можно растянуть ролеплей хоть до бесконечности, но это очень вряд ли получится, и так или иначе старые детали он будет постепенно забывать.
Есть два основных способа заставить SillyTavern работать. Либо подключить ее в локальной модели (с помощью либо oobabooga, либо CoboldCPP), которая запускается на твоем ПК, либо подключаться к облачным решениям, которые дают тебе намного большую скорость и огромный выбор достаточно тяжелых моделей, которые на ПК надо еще постараться запустить. Собственно, плюсы и минусы каждого из решений:
Все на вашей печке, но нужны мощности. Лично я давно забил на расчеты на видеокарте, потому что 8Гб ну вообще не хватает, поэтому мои модели работают на процессорных вычислениях — Ryzen 5600X и 32 Гб памяти. 16 тоже норм, но больше — лучше.
Собственно, для локального запуска моделей есть два самых популярных интерфейса — Oobabooga и KoboldCPP. Второй и будет рассматриваться в этой статье, потому что он — проще, но ничуть не хуже.
Облачные вычисления — это круто! Но есть и ложка дегтя в этой бочке меда. В посте будет фигурировать Together.ai.
- Вы сможете запускать очень тяжеловесные модели. Они даже обещают новую Llama 3.1 на 405 миллиардов параметров. Я использую в основном 70b модели (которые на реальном железе требуют около 64Гб ОЗУ вместе с контекстом и т.д.)
- Очень быстрый ответ от серверов. От мощной модели, которая на вашем ПК варила бы ответ минуты 3, от together вы будете получать примерно за 10 секунд. Круто? Круто!
- Дается стартовый депозит в $5. Его хватит на 2-3 дня активной игры на тяжелой модели. Дальше — либо по новой создавать аккаунт (Google), либо быть добропорядочным.
- Вычисления облачные, а значит вся та чернуха, что ты делаешь со своей фентези-жертвой в фентези-подвале, будет течь по проводам прямо на сервера Together.ai, и я не знаю, насколько они конфиденциальны.
В общем насчет того самого — на свой страх и риск, но навряд ли кому-то интересно, что ты там делаешь и как извращаешься.
Собственно, для локального запуска инструкции довольно простые, просто качайте exe-шник с последнего релиза. Но выбирайте с умом:
- KoboldCPP_cu12 — для поддержки видеокарт NVIDIA от 1000-й серии.
- koboldcpp_nocuda — если не нужно использовать CUDA (Карты Intel или маломощная NVIDIA по типу 1050)
- koboldcpp_oldcpu — старые процессоры
- Для видеокарт AMD — форк от YellowRoseCx
- Для Linux — инструкция, дальше сами. Удачи!
Хоть KoboldCPP и работает с моделями GGUF, но видеокарта может подхватывать вычисления и ускоряет их, так что выбор правильного файла тут действительно важен.
Как только exe-шник запущен, перед вами будет вот такая картина:
Вообще, можно даже никуда не лезть больше, просто нажимаете Browse, выбираете модель и нажимаете Launch. Да, все так просто. Подробно будет в других частях этого цикла.
Моделей куча, сотни, тысячи! И каждая подходит для своих разных задач. Давайте пробежимся по их характеристикам, чтобы вы поняли, а что вообще надо искать и как:
- Ищите GGUF модели. Это указано в названии. Это модели, использующие в основном процессорные вычисления. (Есть GGML модели, опирающиеся онли на видеокарту)
- Чем больше циферок с буквой «b», тем лучше. Это количество так называемых параметров, которых хранит в себе модель.
Грубо говоря:
— Если у вас 8 Гб ОЗУ, ищите 7b модели. Они немного туповаты, но под пиво пойдет
— 16 Гб ОЗУ — уже можно смело запускать 13b модели. Золотая середина между экономностью ресурсов и «умом»
— 32 Гб ОЗУ — вам уже доступны 20b и 23b модели. Они достаточно умные, чтобы поддержать любой вид диалога и не скатываться в уныние через 150 сообщений - Степень квантования. Это вот эти Q5_K_M, Q8 и все такое. Чем меньше число после Q, тем более шакальная модель из-за сжатия. Не разбирался, как оно устроено технически, но знайте, что Q5_K_M — золотая середина. Хорошее сжатие, но на качество не влияет.
- Размер контекста. Он служит «памятью» для модели. В ней она хранит карточку персонажа, инструкции, а также последние сообщения из диалога между вами и ею. Вот в этом и проблема РП-гейминга с ИИ. Обычно модели поддерживают 4096 токенов контекста. Если персонаж не очень большой, то это где-то 10-15 сообщений в диалоге. Что было написано раньше — ИИ уже «не помнит».
Но если контекста больше, то в названии модели это будет указано как *число*k. Например, ,LLaMA-2-7B-32K. Оно жрет вашу ОЗУ, кстати
Ну и я хотел бы дать список «для старта»:
- MythoMax-L2-13B-GGUF — Это классика!!! Это знать надо!!! Модель старая, но все еще прекрасная. Она идеально заточена под РП, отвечает хорошо и складно. Умеет как в философские диалоги, так и в хорни
- Pantheon-RP-1.5-12b-Nemo-GGUF — по отзывам превосходит MythoMax в понимании ситуаций текста. Отлично поймет, что вы не человек, а русалка (что для моделей очень сложно осознать), и не очень хорни — придется немного поуговаривать. Да, как с настоящей женщиной
- L3-8B-Lunar-Stheno-GGUF — компактная, умная, хорошо пишет. Что еще нужно для счастья?
- Nethena-MLewd-Xwin-23B-GGUF — старая, большая, тяжелая, но очень умная и хорошо пишет. Осторожно — очень хорни, оседлает вас при первом попавшемся случае
- MLewd-ReMM-L2-Chat-20B-GGUF — тоже самое. И тоже хорни
Все эти модели хороши по-своему. Тестируйте, смотрите, какая понравится больше.
Вот с ней чуть-чуть сложней, но не намного.
- Заходите сюда
- Скачивайте (Code -> Download ZIP)
- Распаковывайте в любую удобную папку
- Запускайте Start.bat (start.sh для Linux)
- ???
- PROFIT!
Как оно все установит и запустится, перед вами появится вот такое окошко:
Выбирайте язык интерфейса и вводите имя вашему первому персонажу (которым будете вы).
Более тонкая настройка SillyTavern будет в следующих частях, а пока давайте быстренько приведем его к рабочему виду.
Вас встречает интерфейс! Нужно сделать несколько вещей, чтобы опыт игры был максимально приятным:
- Связать CoboldCPP и SillyTavern
- ОБЛАКО: подключение Together.AI
- Описать своего персонажа
- Скачать карточки персонажей для игры
- Выбрать пресет генерации
Начнем по порядку.
Сверху будет много вкладок, и вам нужна одна из них, со значком вилки. Выбираете «Тип API» — KoboldCPP и жмите подключиться. Как только чуть ниже появится зеленый кружок с названием модели — Congratulations! Все подключено.
Тут все еще проще, KoboldCPP не нужон. Регистрируйтесь на Together.AI, и после входа вам покажут ваш API-ключ. Его вводите сюда:
В «Тип AI» выбирайте TogetherAI, вставляйте ключ, и выбирайте модель! Для меня самой лучшей оказалась WizardLM-2.
Напомню, ваш стартовый капитал — $5. Дальше либо регайте новый акк и вписывайте новый ключ, либо ПЛАТИТЕ.
А вот расценки к каждой из моделей. Если используете 70B модель, вам хватит примерно на 3 дня активнейшей игры.
Скрывается во вкладке со смайликом. В описании… Просто опишите себя. Возраст, характер, характеристики тела и все такое. Вместо вашего имени пишите {{user}}. Если вы хотите что-то описать с персонажем, с которым будете играть, его указывайте как {{char}}.
Кстати, некоторые модели отлично понимают MBTI. Это типы личности. Можете пройти тест и просто ввести эти 4 буквы в описание персонажа, указав Personality: *ваш тип личности*.
И да, вы можете создать несколько своих личностей, для этого слева есть кнопочка «создать».
Главный хаб персонажей — chub.ai. Фильтры по жанрам (работают не очень, так как авторы часто забивают на указание тегов), поиск, и все такое. Если кто-то понравился, жмите на персонажа, копируйте ссылку на него, и вставляйте вот тут:
Самая правая вкладка, это ваш список персонажей. Вам нужна иконка с облачком:
Кстати, чуть левее от нее иконка есть с файликом. Это если вы скачали PNG или JSON персонажа
Оно находится в самой левой вкладке
Тут много крутилок и галочек, но вам нужны лишь пресеты. У меня сейчас выбран Mirostat. Просто выбирайте из списка, сохранять ничего не надо. Рекомендую следующие пресеты:
- Mirostat
- Midnight Enigma
- Kobold (GodLike)
Поэкспериментируйте, и оставляйте то, что по вашему мнению лучше пишет для вас.
Ответ в токенах — длина сообщения, которую будет писать ИИ. Выбирайте между 300 и 450. Если меньше, то тупо будет мало текста, а если больше, то будет риск того, что ИИ начнет писать за вас.
Контекст в токенах: Выбирайте 4096, если модель не предполагает большего количества
Тут есть некий синтаксис. Не все модели поголовно его понимают, но большинство — поймут:
- *Действие*
- «Цитата или мысли»
- Просто текст, разговор
Все просто! Заходите во вкладку с кубами, которая сверху, открывайте вкладочку Chat Translation и выбирайте как на картинке:
А в целом то и все! Можно общаться со своей вайфу. Вы гарантированно получите какое-то удовольствие от этого.
Этот пост рассчитан на вкат в тему, а дальше начинаются… приколы. Документация толком ничего не объясняет, тема максимально молодая и новая, так что сообщество все еще ищет правильные подходы по созданию персонажей, системных инструкций к ИИ и много много чего еще. Это я и постараюсь осветить в следующих постах этого цикла. До встречи!