В прошлый раз мы остановились на том, что установили связку KoboldAI и SillyTavern, которые позволяют нам локально запускать Искусственный интеллект и удобно взаимодействовать с персонажами. Полагаю, для многих стало проблемой отсутствие русского языка, да и стандартные предустановленные персонажи могли вам изрядно поднадоесть: о кино с ними не поговоришь особо, да и футбол не обсудишь. Сегодня мы добавим возможность перевода на русский язык и научимся создавать своих персонажей. Да-да, наконец-то мы вплотную подошли к моменту, когда сможем создать себе идеального друга. Ну, по крайней мере, попробовать.
Если вы последовательно выполняли действия из прошлых статей, то у вас установлены кобольд и таверна, если же в процессе у вас возникнут трудности – к примеру, не будет вкладок со скринов – убедитесь, что установили расширения (Пункт 2 в установщике – Install Extras), в крайнем случае переустановите SillyTavern, выбрав в установщике пункт 4 – INSTALL EVERYTHING (установить всё), один из этих шагов решит вашу проблему. Однако стоит оговориться, что все манипуляции актуальны на момент публикации, и, если вы наш читатель из будущего (не столь далёкого, в котором искусственный интеллект Скайнет штурмует людские города, а Т-800 с лицом Шварценеггера ищет Сару Коннор), то для вас порядок действий может быть иным, а интерфейс может не совпадать.

Перевод
После того, как мы убедились, что расширения установлены, самое время включить перевод. Делается это в несколько кликов. Для начала в верхнем меню выбираем пиктограммку с тремя кубиками. В правой колонке кликаем вкладку «Chat Translation» (перевод чата) и в ней выставляем следующие настройки: Auto-mode: translate both (указываем, что в автоматическом режиме должно переводиться всё — как наши реплики, так и ответы персонажа). Далее выбираем источник перевода (Provider). Это сервис, с помощью которого будет осуществляться перевод. Из коробки мы можем пользоваться Google переводчиком и Bing от Microsoft. Сильной разницы в качестве перевода я не заметил: и там, и там путаются окончания и род, так что на ваш вкус. Теперь вы можете общаться с предустановленными персонажами на русском языке. Однако здесь есть еще один важный момент – подобная русификация категорически не подходит для взаимодействия с Coding sensei, да и вообще с любыми персонажами, помогающими в программировании, потому что таверна старается переводить и часть кода, которую может понять. Например, html тег <body> с её лёгкой руки превращается в <тело>. Разумеется, такой код не будет работать. Впрочем, если вы занимаетесь разработкой, то вряд ли у вас есть большие проблемы с английским.

Создание персонажа
С технической точки зрения, создать своего персонажа несложно, но написание промта – это целая наука, если не искусство. Промт – это набор инструкций для нейросети, на основании которых она будет генерировать ответы. Позже мы поговорим о графических нейросетях, создающих картинки по словесным описаниям, но уже сейчас для простоты приведём пример: ‘Photo of green apple on a table’ – «Фото зелёного яблока на столе»; из этой формулировки нейросеть уже поймёт, что вам нужна картинка яблока на столе зелёного цвета, и это должно быть фото, а не рендер, акварельный рисунок или аниме стиль.

В случае с персонажами речь идёт скорее о личности, о её особенностях, о реакциях. Потому создавая промт, нужно детально прописывать внешние атрибуты, возможные реакции, черты характера. Иными словами, отделаться чем-то вроде «ты – классный друг» не получится, потому что это слишком обширное и абстрактное понятие. Чтобы создавать персонажей, вы должны быть чуточку писателем. Продумайте внешность своего героя (указание конкретного роста, например, позволит избежать историй, когда ваш персонаж перешагивает небоскрёбы или просачивается в замочную скважину). Создание героя – процесс небыстрый, нелёгкий, но крайне увлекательный. Промт для персонажа может быть написан в виде обычного последовательного текста, но нередко используется и другой формат, дающий больше конкретики. В нём все детали личности записываются в таком виде: «Факт» + «Факт», — например: «Высокий» + «Добрый». На мой взгляд, такая запись более корректна: краткие черты дают языковой модели базовые характеристики, не устанавливая слишком жёстких рамок. Создавать героя мы будем с помощью сайта: https://zoltanai.github.io/character-editor/. Зайдя на сайт, нажимаем New character (новый персонаж), выгружаем фото, подходящее нашему герою (можно найти в интернете или сгенерировать с помощью нейросети) и заполняем поля. Пример заполнения виден на изображении. Если у вас трудности с английским – воспользуйтесь переводчиком. Маленький лайфхак: после имени можно указать через запятую главное определяющее свойство. В моём случае: «Мими, плюшевый медведь».

Разберём поля:
Name – имя, Summary – главное. Здесь указываем два-три основных качества; Personality – собственно описание личности, Scenario – обстоятельства и контекст взаимодействия, Greeting Message – приветственное сообщение. Это первое сообщение, появляющееся при открытии чата с персонажем, Example Messages – примеры сообщений, по аналогии с которыми и будет отвечать персонаж. Когда закончите – перейдите во вкладку экспорта и выберете левую вкладку «Export as Image» — «экспортировать как изображение», нажмите единственную кнопку и сохраните картинку — карточку своего персонажа. Таким образом вы получите изображение, содержащее все необходимые данные. В виде подобных карточек очень удобно хранить своих героев на случай переустановки системы.

Теперь зайдя в таверну, выбираем самую правую вкладку в верхнем меню «Character management» — «управление персонажами» и там — иконку документа со стрелочкой вправо, как на скриншоте. Вуаля, ваш персонаж загружен, и вы можете с ним общаться.
Если вам хочется более детальных описаний происходящего – напишите своему герою следующее:
«Write in a narrative style and use descriptive language. Be proactive, creative, and drive the plot and conversation forward. Always stay in character and avoid repetition. Drive the roleplay forward by initiating actions. Describe character’s emotions, thoughts, actions, and sensations».
Что переводится как:
«Пиши в повествовательном стиле и используй описательный язык. Будь активной, креативной и продвигай сюжет и разговор вперёд. Всегда оставайся в образе и избегай повторений. Продвигай ролевую игру, инициируя действия. Описывай эмоции, мысли, действия и ощущения персонажа».

Благодаря такой команде, вы сможете создавать со своим героем целые книги, миры и вселенные. Кстати, на вкладке с изображением глобуса «World info» вы можете формировать своеобразную базу знаний, что позволяет генерировать целые миры! К примеру, там могут быть имена местных драконов, названия городов и созданных вашим воображением стран.
Творите! И со временем у вас всё получится.
Фото: автор
Специально для Агентства Особых Новостей (on24.media)