Виртуальный ролеплей, часть 3: Создание своего персонажа для SillyTavern
Итак, вы уже установили и настроили ваш виртуальный текстовый хентай-хаб, наигрались с персонажами, но вам мало, и вы хотите создать себе ту самую ЕОТ со школьной поры? Тогда давайте попробуем создать персонажа!
Но есть нюанс...
Помните про Дикий Запад в мире ИИ? Ну вот тут тоже самое. У каждого автора свои методы, а истина… ее еще нет, ну или я не разглядел. Весь гайд — советы более сведущих в теме и мои наблюдения. Эту статью пока нельзя закончить, потому что сколько авторов - столько и мнений. Ну и плюс ко всему я не изучал ML (здесь могла быть ваша реклама), так что этот гайд — полная субъективщина и просто еще одно мнение в копилочку. Комментарии всегда открыты, и я буду очень рад, если эта тема начнет продвигаться в ру сегменте.
Стиль письма
Есть множество стилей написания персонажей, в основном они подразделяются на «технический» и «естественный», кто-то смешивает их. У каждого из них есть свои поклонники, отстаивающие свой выбор, и я войду в касту последних, потому что что-то компактнее описать сухо и по фактам, а что-то лучше раскроется в литературном стиле. Можно сказать, он сбалансирован.
На самом деле, после дня экспериментов с написанием одного и того же персонажа в разных стилях и формах я не увидел отличий в их эффективности и отыгрывании характера. Возможно они были в мелких деталях, которые я не заметил. Более опытные в этом деле члены сообщества отметили несколько «но»:
- Технический стиль — сухой, и поэтому модель не будет имитировать стиль вашего написания в сообщениях персонажа, а она может, по словам прошаренных. В этом есть свой минус, потому что сама модель окрашивает персонажа, выводя его в свой стиль описания и диалога.
- Естественный стиль же пытается копировать стиль вашего письма, и может окрасить характер и письмо персонажа. В этом есть плюс! Сама модель окрашивает персонажа в свой стиль письма, в который она обучена, и этими методами можно корректировать ее поведение.
- Есть мнение, что естественный стиль LLM понимает лучше, чем технический, потому что именно на «естественных» текстах в большинстве случаев модель и обучалась
- Естественный стиль обычно занимает больше токенов, нежели технический, что скажется на скорости генерации, поэтому я и выбрал что-то среднее между литературностью и экономией токенов.
Структура персонажа
А что описывать то? Желательно — все:
Более сухо и по фактам:
- Кто по жизни (кот, человек, демон, неведомая НЕХ)
- Кто по жизни 2 (Войн, домработницы, врач, (блоггер)
- возраст, пол, внешность
- Хобби, увлечения, чем обычно занимается, что любит, что не любит.
Литературно:
- Его бекграунд: небольшая история о нем, как он пришел к жизни такой
- Завязка и сюжет — основная характеристика. В чем месседж карточки
Собственно, сухим языком я описываю характеристики персонажа, а литературным я объясняю весь остальной смысл и сюжет.
Также (ML инженеры, ваш выход по объяснению этого феномена) очень неплохо работают вопросы в описании, например: {{char}} знает весь город, но не потому, что он босс Бюро Стражей, а потому, что у него талант совать свой нос куда не следует, влезать в любые планы, а кому нужны границы? Эта штука дает сильный буст в разнообразии диалогов.
Стоит отметить, что не каждая модель хорошо понимает метафоры и двойные смыслы, так что стоит быть осторожным с ними, если это не устоявшиеся английские выражения, иначе она может понять выражение в прямом смысле, и дедлайны офисного работника будут не гореть, а в прямом смысле полыхать огнем, если он любитель задержать с отчетом своему боссу.
Характер можно описывать любыми прилагательными и глаголами. Стоит отметить, что чем точнее будет описание — тем лучше. Например, слово «добрый« модель может воспринять еще как и «щедрый», так что будьте как можно более точны.
В комментариях к прошлым частям заметили, что очень хорошо себя показала система типов личности MBTI (подробнее об этом было во второй части). Действительно, персонаж приобретал черты характера соответственно типу личности, но я все таки использовал бы это с осторожностью, ибо не все модели знают про эти буковки и циферки.
Возникают трудности в придумывании синонимов? Почему бы не попросить помощи у братишки ИИ? Он очень хорошо расширяет контекст. Доступ к GPT-3,5 найдите сами (подсказка — ломаные приложения на Android с одного сайта, начинающегося с "4". Фруктовые магнаты — соболезную)
Дополнительные параметры
Кроме описания и первого сообщения есть еще несколько параметров:
- Сценарий — Сюда пишите общие параметры мира и «глобальную цель персонажа»: где живет, чем живет, что хочет получить от игрока (сестренка на самом деле трап, и хочет трахнуть тебя)
- Promt Overrides — не трогайте! С новыми моделями он работает лучше без них.
- Сведения о создателе — метаданные, которые нужны для сайтов по типу chub. ai. Разберитесь сами, там несложно
- Примеры диалога — имба. Тут пишите его стиль общения. Отличный пример у этого персонажа.
Также стоит отметить! Отыгрыш персонажа сильно зависит от выбранной модели! О них был разговор в первой части.
LoRa/World Info
У некоторых персонажей они уже есть. Они поднимают отыгрыш на качественно другой уровень. Коротко - лора предоставляет заранее заготовленный ответ на триггер-слово. Как же написать свою лору? Достаточно просто:
Заходите в подсвеченную на скрине вкладку, нажимаете New и вводите название своей лоры.
Для добавления строки нажмите плюсик
Вот синтаксис строки (который сработал у меня):
Туда можно писать и обычный текст, когда ИИ увидит ключевое слово, он возьмет это описание в свой ответ.
Вот оптимальные настройки во вкладке Activation Settings:
Подключить лору к персонажу, чтобы она привязалась к нему - по этой (зеленой) иконке:
В общем, делайте по образу и подобию! Вот скрин одной из лор персонажа:
Спасибо за внимание
Собственно, весь процесс создания персонажа — поиск идеала, который нейросеть поймет лучше всего.
Ищите лучших по вашему мнению персов, которые отыгрывают лучше всего и смотрите их синтаксис написания, так быстрее всего вы придете к своему стилю.
Удачи в творческом пути :)
Собираем автору на А100 и гарем нейронных кошкодевочек
*система типов личности MBTI * - небольшая ремарка, как понять шарит ваша модель в этом или нет? Проще простого! Создайте нулевого ассистента и попросите у него расшифровать ENTJ - 8w9 - so/sp - 863 - LSE - SCOAI - FVLE - Phlegmatic-Choleric - ET(S). Точно скажу что все модели выше 7 Б легко поймут Интроверты/экстраверты, холерика/флегматика/сангвиника. Скорее всего поймут социальные ориентации so/sx/sp, а вот с крыльями и прочим могут быть затыки. Проще говоря вариант сокращения психотипа: ENTJ -so/sp - Phlegmatic-Choleric сожрет любая 7Б+ модель.
На каком сайте можно получить полный код личности?
На том сайте, где я проходил тест, были указаны только первые четыре буквы кода, а остальная информация была представлена в виде графиков. Хотелось бы получить более сокращённый вариант, похожий на ваш, чтобы сэкономить токены.
Кстати, я в тот раз не помню, спрашивал ли, как эта фигня справляется с сюжетными штуками, а не порнухой? Насколько быстро забывает то, что было до?
Зависит от того какая модель используется для генерации и сколько контекста она может запомнить. Самые жирные модели 16к контекста. Обычно этот параметр указан в модели.
Слушай, а может подскажешь, как сделать отдельного персонажа который комментировать будет то что в чате происходит на основе собственной введенной персональности? Вроде через групповой чат можно, но это много мороки. Можно как то чтобы он сразу был подключен? Привязан к персоне например? А можно как то сделать персону которая например будет читать мысли персонажей? (заставлять их писать свои мысли неосознавая)
У меня пока мысли только про групповой чат о котором ты написал
@VV @Diavator есть мысли?