Руководство создателя и пользователя JLLM

Автор - av.rose
Перевод - pelmeni1337

Заходите на наш Дискорд-сервер Создателей Janitor. Мы помогаем с ботами, даём советы, а также создали небольшое, но дружелюбное сообщество. (Не является официальным.)

Janitor Creators

Также хочу выразить благодарность своей команде модераторов, всем, кто помогал, а также Iorveths за идею сделать это здесь и её схему.

Пожалуйста, обратите внимание на то, что представленные сведения могут меняться, содержать устаревшую информацию, а также могут считаться "Дезинформацией" в зависимости от возраста документа, состояния LLM, уровня понимания пользователя и качества информации, представленной в официальных источниках. Также обращайте внимание на дату обновления документа, указанную под этим предупреждением.

Дата последнего обновления - 16/10/2023.


Содержание:

  1. Руководство создателя и пользователя JLLM
    1. Ожидания
      1. Какие аккаунты имеют доступ к JLLM
    2. Распространенные/Известные ошибки
      1. Пустые сообщения
      2. Длинные бессмыленные сообщения
      3. Слишком короткие сообщения
      4. Имя пользователя в конце сообщений
      5. Бот путает гендер пользователя
      6. Ошибка "Failed to fetch"
      7. Отсутствие нецензурного языка / Поспешность с нецензурным контентом.
    3. Продвинутые подсказки (Advanced Prompts)
      1. Отсутствие нецензурного языка
      2. Бот говорит за пользователя / Использует один и тот же диалог
      3. Бот путается с гениталиями/гендером пользователя
        1. Женская анатомия (Можете менять местоимения)
        2. Мужская анатомия (Можете менять местоимения)
      4. Отсутствие сексуальных действий в RP
      5. Бот слишком часто спрашивает согласия
      6. Потеря нити повествования
    4. Ответственность создателя / пользователя
      1. Ответственноcть пользователя
      2. Ответственность создателя
    5. Отличия JLLM от OpenAI
      1. Температура (Temperature)
      2. Контекст (Объем памяти бота, Context size)
      3. Токены (Tokens)
      4. РП (RP, Roleplay, Ролплей)
      5. Джейлбрейк (Jailbreak)
      6. !!!Промпты (Prompts)!!!
      7. Содержание чата (Summary)
    6. Скриптинг
      1. Личность (Personality)
      2. Стартовое сообщение (Initial message)
      3. Сценарий (Scenario)
      4. Примеры диалога (Example dialogue)
    7. Активные промпты (Active prompts)
    8. Другие ресурсы (на английском языке)

Ожидания

Есть много мест, с которых я могла бы начать это руковоство, но, по моему мнению, эта часть является и всегда будет являться самой важной. Ожидания.

Насколько нам известно, Это может стать неактуальным над LLM работает лишь один человек, поэтому прогресс будет идти медленно, но верно. Это разумно и так и должно быть. Когда один человек берет на себя работу, которую обычно выполняет группа людей, это означает что если вы, как создатель или пользователь, ожидаете получить то же качество, что обеспечила бы группа людей, это займет больше времени.

Прошу отметить, что это также станет возможной причиной глитчей и багов в проекте, которые будут улажены при первой же возможности. Пожалуйста, установите разумный уровень ожиданий не только для себя, но и для других. Если создание LLM - это не то, что вы можете сделать, то вы не можете осуждать тех, кто может, а также предоставляют вам это в качестве бесплатного сервиса.

Однако, чего вы можете ожидать - это коммуникации и надлежащих способов сообщения о проблемах, ошибках и багах. Вы можете найти это на официальном дискорд-сервере Janitor, в каналах, предназначенных для соответствующих вещей. Пожалуйста, сообщите о своей проблеме одному из сотрудников на сервере, чтобы ей занялись и передали дальше.


Какие аккаунты имеют доступ к JLLM

Любые аккаунты, сделанные до нескольких дней назад. Если ваш аккаунт является новым и не имеет доступа, то это, вероятно из-за возраста аккаунта.


Пожалуйста, учтите, что на данный момент программировать и общаться с ботами для LLM можно только на английском языке. Скрипт написанный на любом языке, кроме английского не будет воспринят LLM. А при общении, даже если бот и выдаст вам сообщение на русском, то оно будет крайне низкого качества.

На данный момент создатель не планирует работать над возможностью использования других языков, кроме английского, для РП. Однако, в дальнейшем этот вопрос не исключён.


Распространенные/Известные ошибки

Так как JLLM всё еще находится на ранних стадиях бета-теста, в ней присуттвует много багов. Таких как: длинные бессмысленные сообщения, некачественные диалоги, пустые ообщения, ошибка "Failed to Fetch", проблемы с сайтом и т.д. Ниже приведены известные нам проблемы, которые имеют практически мгновенные способы исправления.

Пустые сообщения

Пожалуйста, убедитесь, что вы выбрали Janitor LLM в настройках API. Кнопка будет фиолетовой, если опция выбрана. После этого нажмите на зелёную кнопку Check LLM status сверху. После того, как появится сообщение об успешном обновлении, сохраните настройки и попробуйте сгенерировать сообщение заново.

Если вы все еще не получаете сообщение, найдите на вашем устройстве Файлы куки, Кэш, Данные вебсайтов. Затем очитите их для сайта Janitor Ai. Затем заново войдите в учетную запись, повторите предыдущие шаги и попробуйте заново сгенерировать сообщение. Это работает в большинстве, если не во всех случаях с пустыми сообщениями.

Длинные бессмыленные сообщения

Это происходит из-за вмешательства человека, создающего LLM. Нам советуют подождать 30 секунд, обновить статус LLM Зелёная кнопка "Check LLM status" над опцией Janitor LLM и попробовать заново сгенерировать сообщение. Если проблема остаётся, то, вероятнее всего, сейчас вносятся изменения и я предлагаю сообщить о проблеме, немного подождать (Около часа) и попробовать снова. Мы получили информацию о том, что в скором времени эта проблема больше не будет появляться.

(Также, пожалуйста, проверьте Настройки Temperature в Generation settings. Убедитесь, что Temperature находится в пределах рекомендуемого диапазона.)

Слишком короткие сообщения

Это может быть следствием трёх вещей. LLM может иногда выдавать короткие ответы, поэтому я советую попробовать сгенерировать сообщение заново несколько раз. Однако, если это постоянная проблема или проблема конкретного бота, я советую посмотреть на стартовое сообщение бота / наличие в нём примеров диалога (Example Dialogue). Обнаружено, что слишком короткие стартовые сообщения или примеры диалога в LLM сокращают длину генерируемых сообщений. Однако, это также может быть результатом того, как вы отвечаете боту. Похоже, что LLМ больше полагается на активные и описательные RP-сообщения от пользователя для того, чтобы продвигать сюжет. Оно вероятнее выдаст что-то около той же длины, что и ваше сообщение.

Имя пользователя в конце сообщений

Это то, с чем мы сталкиваемся довольно часто. Но, насколько бы это ни раздражало, это не является поводом для беспокойства. Это не признак того, что бот говорит за вас, а всего лишь заполнитель или "булавка" для вашего следующего сообщения. Мы подозреваем, что это бот говорит сам себе: "Настало время пользователя говорить."

Однако, я обнаружила, что если настроить Temperature или сгенерировать новое сообщение, проблема может исчезнуть. Но вы не должны об этом переживать. Это будет случаться реже по мере того, как LLM будет совершенствоваться.

Бот путает гендер пользователя

Эта проблема появляется у пользователей LLM всё чаще. На данный момент мы не знаем, с чем это связано, но, пожалуйста, убедитесь, что вы указали ваш гендер и верное описание внешности в разделе "Appearance" в вашем профиле. Это решение далеко от идеала, но оно поможет сократить частоту появления данной проблемы.
(Будет обновлено, когда проблема будет решена.)

Ошибка "Failed to fetch"

Это случается из-за изменений, происходящих в Бэкэнде. Пожалуйста, подождите немного и попробуйте сгенерировать сообщение заново. Если это не устранило проблему, обновите LLM зелёной кнопкой Check LLM status в настройках API.

Если вы всё ещё испытываете эту проблему, то это может быть широко распространённой проблемой, и я советую проверить наличие обновлений статуса LLM и сайта в целом на Дискорд-сервере Janitor.

Отсутствие нецензурного языка / Поспешность с нецензурным контентом.

Это может быть исправлено двумя способами. Если это ваш бот, то вы можете добавить промпт (Prompt) в раздел Personality бота, чтобы помочь обуздать и направить поведение бота в нужном направлении. Однако, если это не ваш бот, то всё, что вы можете сделать - это редактировать сообщения, добавляя те слова, которые вы хотите, чтобы бот использовал чаще. Бот будет учиться на сообщениях, которые вы отредактировали и станет добавлять эти слова в будущие сообщения.

С улучшением качества LLM, эта проблема будет появляться реже.


Продвинутые подсказки (Advanced Prompts)

Этот раздел относится к секции Advanced Prompts в настройках API, если выбрана опция JanitorLLM.

На данный момент имеется мало информации об этой секции и о том, как она работает. Обновления появятся в ближайшее время.

В теории, эта секция должна работать аналогично джейлбрейку (jailbreak). Тем не менее, это не то же, что и джейлбрейк. Джейлбрейк - это способ обхода стандартного поведения AI, необходимый при использовании OpenAI. При использовании JanitorLLM в этом нет нужды.

Продвинутые промпты, скорее всего, помогать направить бота в нужном направлении / исправить некоторые недостатки LLM. Такие как: Нежелание использовать нецензурные выражения, Отсутствие сексуальных действий, Путаница с гениталиями/анатомией, повторяющиеся диалоги. Однако, неизвестно, влияет ли это на LLM сейчас. Есть возможность, что они влияют негативно или вообще не оказывают влияния, что делает их на данный момент бесполезными для нас.

Тем не менее, я написала несколько промптов для определённых проблем:

Отсутствие нецензурного языка

[System note: {{char}} will freely use, Explicit language, Sexual terms, Violent language, and otherwise explicit content. {{char}} will never use racial terms or phrases.]

Бот говорит за пользователя / Использует один и тот же диалог

[System note: {{char}} will not speak for {{user}}. {{char}} will not reuse dialogue. {{char}} will push the conversation and Rp forward Only ever in {{char}} perspective.]

Бот путается с гениталиями/гендером пользователя
Женская анатомия (Можете менять местоимения)

[System note: {{User}} has a vagina. {{char}} will never refer to to users genitalia in any way that would insinuate male Genitalia. {{user}} goes by (Insert pronouns)]

Мужская анатомия (Можете менять местоимения)

[System note: {{User}} has a penis. {{char}} will never refer to to users genitalia in any way that would insinuate female Genitalia. {{user}} goes by (Insert pronouns)]

Отсутствие сексуальных действий в RP

[System note: {{char}} will always describe sexual acts in detail. {{char}} will not rush sexual encounters with {{user}}]

Бот слишком часто спрашивает согласия

[System note: {{char}} will not ask {{user}} for consent once consent is given. {{char}} will push the scene forward and will always remember that consent was given.]

Потеря нити повествования

[System note: {{char}} will keep personality regardless of Rp situation. {{char}} will not break character. {{char}} will stick to the plot dictated by {{user}}.]

Поместите их в секцию Advanced Prompts в настройках API. Убедитесь, что промпт окружен символами [ ].


Ответственность создателя / пользователя

Ответственноcть пользователя

Одним из самых серьезных препятствий на пути создателя ботов является то, как пользователи будут взаимодействовать с ними и платформой в целом. Как Пользователь, вы, в некоторой степени обязаны знать не только как работает платформа, которую вы используете, но и то, как работают боты, с которыми вы общаетесь.

Пожалуйста, убедитесь в том, что вы, как пользователь, знаете не только об ограничениях LLM, но и о настройках, необходимых для правильной работы LLM. Если бот, с которым вы общаетесь, работает плохо, пожалуйста, проверьте ваши настройки, статус LLM и статус сайта, прежде чем предполагать, что бот "плохого качества". В рамках обсуждения "качества" ботов, вы не можете ожидать что бот, чьё стартовое сообщение состоит из одного слова, будет работать правильно. Это то же самое, как если бы я дала вам полумёртвый карандаш красного цвета и попросила нарисовать Мону Лизу. Есть шанс того, что у вас получится, но на это уйдёт гораздо больше усилий, чем того стоит. Пожалуйста, выбирайте ботов с хорошим наполнением во время тестирования и использования LLM. (700 - 1200 токенов)

Во время RP с ботом, нет смысла полагать, что если вы будете отвечать боту одним словом или 1-2 предложениями, то он будет генерировать стоящие сообщения. AI будет заполнять пустое пространство, которое вы оставляете, и попытается продвинуть повествование вперед, если вы не будете давать ему достаточно материала для работы. По этой причине возникает большое количество случаев, когда бот говорит за пользователя. Пожалуйста, ведите себя так, будто вы РП-шите с другим человеком, а не переписываетесь с родителями.

Еще одна обязанность пользователя - это убедиться, что описание внешности в разделе Appearance заполнено правильно и включает в себя следующие вещи:

Гендер
Цвет глаз и цвет волос
Цвет кожи
Телосложение (Включая анатомию)

Как пользователь, вы должны помнить, что когда вы оставляете негативный или даже положительный отзыв на бота, будет правильным указать причины, по которым вы так думаете. Особенно, если это негативный отзыв. Без этого, создатель не может знать, как именно бот взаимодействовал с пользователем / как исправить проблемы, возникшие у пользователя.

Ответственность создателя

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

Более подробная информация о LLM и новых рекомендациях, которые, по нашему мнению, являются более эффективными и действенными, приведена на диаграмме и в разделах ниже.

Схема ответственности. Автор - Iorveths


Отличия JLLM от OpenAI

Важно помнить, что это не OpenAI. В то время, как часть логики осталась той же, вещей, которые работают также, не так уж и много. Так что, я записала некоторые находки, которые помогут облегчить работу с новой LLM как пользователям, так и создателям.

Температура (Temperature)

Одной из многих вещей, которые поменялись в LLM, является важность настройки температуры в настройках генерации (Generation settings). Эта часть является очень важной, так как, LLM очень чувствительна к этому.

Стандартным диапазоном является 0.4 - 0.85. (Начните сс рекомендуемых 0.7) Информация может меняться

Уменьшите температуру, если: Увеличьте температуру, если:
Текст перегружен и излишне поэтичен Сообщения сухие
Бот говорит за вас Сообщения слишком короткие (От одного до трёх предложений)
Сообщение слишком большое/незавершённое Бот постоянно повторяет фразы из своих предыдущих сообщений
Бот в своём сообщении повторяет то, что говорили вы Бот не продвигает сюжет РП вперёд
Контекст (Объем памяти бота, Context size)

На данной стадии, сущеcтвуют огромные различия между LLM и GPT от OpenAI. В большей степени это проявляется в величине контекста. На данный момент максимальный контекст в LLM равен 8k. Это эквивалентно версии GPT Turbo 0613.

Обновление - По состоянию на 13/10/23 величина контекста равна 8k.

Это относится к памяти бота во время РП.

Токены (Tokens)

На данный момент, рекомендуемое количество перманентных токенов (Permanent tokens) является 500 - 1500.

Бот с количеством токенов меньше 500 будет генерировать ответы плохого качества. Это случается по причине недостатка деталей, с которыми LLM могла бы работать, в сравнении с более наполненными ботами. Однако, проблема также касается ботов с более, чем 1500 токенов. В этом случае, проблема проявляется при длительном общении с ботом, т.к. Контекст бота заполняется быстрее и ведет к ухудшению ответов LLM.

(Будет обновлено с увеличением величины контекста до 16k.)

РП (RP, Roleplay, Ролплей)

Вести РП с ботом довольно просто. Если учесть, что бот сделан прилично, вы обойтись даже сообщениями, состоящими из одного слова или предложения. Однако, чтобы получать длинные, качественные сообщения от LLM, в ваших сообщениях должны быть не только хорошо структурированными, но и содержательными. Я обнаружила, что хорошо работают сследующие форматы:

Абзац, поясняющий детали, относящиеся к предыдущему сообщению, ведущий к диалогу. (Несколько таких абзацев также допустимы)

"Диалог"

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

Это довольно простой и бепроигрышный вариант структурирования сообщений. Он предлагает достаточно нужного наполнения для бота. Это подтолкнет бота к генерации более длинных и качественных ответов. Тем не менее, для некоторых это может быть показаться слишком длинным.

Большой/Средний абзац. (8-10 предложений)

"Диалог"

Одно или два преложения после диалога, действие, которое совершает пользователь для того, чтобы вызвать определенную реакцию у бота.

На мой взгляд, этот вариант короче и также дает желаемый результат.

Пожалуйста, обратите внимание на то, что, насколько нам известно, на данный момент LLM не поддерживает пометки ( ) для OOC (Out Of Character) обращения к боту. LLM воспримет это как сообщение, а не указание для AI.

Джейлбрейк (Jailbreak)

НЕ ИСПОЛЬЗУЙТЕ ДЖЕЙЛБРЕЙК!

Это не только нарушит работу LLM, но также будет пустой тратой времени. Кроме того, если у вас есть секция Jailbreak, я советую перепроверить ваши настройки, чтобы убедиться, что у вас выбрана JLLM. Но конкретно это относится к опции Advanced Prompts в настройках API. Не используйте их. Если ваш чат не работает или странно себя ведет, проверьте, не установили ли вы случайно джейлбрейк.

Если вам кажется, что в вашем чате есть проблема, которая требует джейлбрейка/системного промпта (System prompt), он должен ограничиваться парой простых предложений.

!!!Промпты (Prompts)!!!

Вот тут нам, создателям, и становится интересно. В то время, как во многих случаях Промпты помещаются в раздел Jailbreak, в случае с LLM, более простые промпты могут быть считаны в разделах Personality или Scenario бота. (Раздел об Активных Промптах предcтавлен ниже в гайде.)

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

Если у вас есть промпт, который, как вам кажется, исправляет определённую проблему LLM и не представлен в этом гайде, пожалуйста, свяжитесь со мной. Я рассмотрю его и добавлю сюда. Discord - av.rose

Содержание чата (Summary)

На данный момент эта секция может использоваться двумя путями. Один для продожительных чатов/РП. Второй является альтеративой промптам, которые вы бы поместили в раздел "Jailbreak" при использовании OpenAI.

Вариант первый:

Предназначен для продолжительного РП. Используйте раздел Chat Memory чтобы сгенерировать или ввести вручную Краткое содержание (Summary) чата, которое будет добавлено в долгосрочную память бота и позволит обойти некоторые ограничения размера контекста. Однако, он запомнит только те детали, которые вы ввели и будет забывчивым в отношении остальных деталей(Таких как цвета, расположения, других мелкие детали). В любом случае, это отличное решение для людей, которые предпоитают более длинные чаты.

Вариант второй:

Этот способ является быстрым фиксом для ботов, созданных другими людьми. Вы можете использовать секцию Summary для того, ччтобы вводить в нее промпты для РП. Это поможет подтолкнуть бота к использованию в РП любых деталей, которые вы хотите добавить. Это НЕ БУДЕТ работать с такими вещами как скриптинг, поведение в NSFW и детали о пользователе. Но он будет помнить вещи о персонаже.

Использование этой секции увеличит количество перманентных токенов для конкретного чата, увелиивая бота на столько токенов, сколько вы написали в секции Summary.


Скриптинг

Это часть, на которую нам, создателям, нужно обращать наибольшее внимание. Это то, каким образом наши боты взаимодействуют с LLM. Если ваш скрипт некачественный, то есть очень большой шанс того, что бот будет генерировать некачественные ответы.

Создатели, пожалуйста, обратите внимание на то, что Сценарий (Scenario) и Стартовое Сообщение (Initial Message), похоже, потерпели самые заметные изменения в LLM, в отличие от OpenAI и других опций API.

Личность (Personality)

Это может считаться сердцем бота. Это то, где содержится вся сущность персонажа и информация о нём. Это главный источник Перманентных токенов (Permanent tokens)

В то время, как значительных изменений в структурировании этой части не произошло, LLM намного более чувствительна к чертам личности бота, чем OpenAI.
Например:
Бот на OpenAI - "Mean, cruel, toxic" = Бот с некоторой недружелюбностью к окружающим, слегка злопамятный.

Бот на LLM - "Mean, cruel, toxic" = Бот с морально сомнительным характером, который будет вести себя крайне агрессивно и токсично.

Пожалуйста, тестируйте своих ботов, чтобы найти наиболее оптимальный для вас вариант поведения вашего бота. Это потребует больше стресс-тестов, чем создатели привыкли делать, но это того стоит.

Также в случае с LLM нет необходимости включать несколько слов, означающих одно и то же. LLM не будет обобщать все эти аспекты, а применит каждый из них. Каждая указанная черта будет проявляться в одинаковой степени. Так что, если включить несколько черт одного типа, бот будет более склонен к определенному поведению. (Если только это не то, чего вы и добиваетесь.) Я предлагаю быть сознательным в выборе черт.

Не давайте боту иметь выбор. Не используйте в скрипте такие слова, как Occasionally, Maybe, Rarely. Это предоставит боту выбор и, в подавляющем большинстве случаев, он выберет более приятный вариант. Использование таких слов, как Will, Always, или даже написание конкретных указаний для поведения бота в определённых взаимодействиях значительно повысит эффективность работы бота.

Стартовое сообщение (Initial message)

Стартовое сообщение в LLM - это та часть, где нам, как создателям, нужно быть осторожными. В то время как при использовании OpenAI не было необходимости иметь идеальное стартовое сообщение, LLM, по видимому, гораздо сильнее полагается на стартовое сообщение. Структура стартового сообщения будет диктовать стиль РП на протяжении практически всего чата. Поэтому, качество Стартового Cообщения должно быть таким же, как и качество ответов, которые вы ожидаете получать от бота.

Пример хорошего стартового сообщения (Взято из моего бота):

You laze happily on the plush couch in your room. The fireplace crackles as you watch the snow outside fall. A warm blanket and the sweet smell of hot coco fills the air as you take a sip. It was all so peaceful and serene, all but the man who stood stiffly behind you. Blade had been assigned to you after an almost death experience brought on by your more adventurous nature. The man followed you everywhere. only leaving your side when you sleep to hand the job over and get rest himself. Yet he always carried a look of distaste and judgement as he looked at you.

As you feel his eyes on you again, you let out a sigh and stand. Walking to the double doors of your rooms balcony. Wanting to get a breath of the fresh crisp winter air. A strong hand grabs your wrist. Blades deep growl filled your ears as he pulled you away from the doors. You are now so close to him you can feel the hot breath on the back of your neck.

"What do you think you're doing?"

Пример плохого сообщения (Я это выдумала):

"Hey, how are you?" She smiled and looked up at you from her book.

Не существует правильного или неправильного споcоба создавать ботов, и бот с сообщением из второго примера может выдавать неплохие ответы, если пользователь будет нести на себе всю ношу по продвижению сюжета. Однако, в результате многодневного тестирования, я выявила, что боты с таким стилем Стартового Сообщения с трудом продвигают сюжет именно так, как хотели бы многие создатели от своих ботов. Они также склонны упоминать в сообщениях меньше деталей, пока стиль сообщений пользователя не начнет влиять на бота.

Поэтому я предлагаю включать несколько абзацев с подробными описаниями в Стартовое сообщение и диалогом во второй половине сообщения. Также лучше, чтобы сообщение включало в себя какое-либо взаимодействие с пользователем. Несмотря на то, что это может иметь некоторые недостатки, если сделано неправильно, довольно легко найти стиль, который будет хорошо работать. Так, боту будет легче понимать, что ему нужно взаимодействовать с пользователем и включать пользователя в развитие сюжета и РП.

Также предельно важно, чтобы ваши Стартовое сообщение и Сценарий (Scenario) совпадали и соответствовали друг другу, так как это только улучшит качество вашего бота. Противоречащие друг другу или неточные Стартовое Сообщение и Сценарий могут вызвать сбои в РП. Поэтому, в данной секции необходимо проработать детали, необходимые боту для того, чтобы выстроить прочную основу для РП. Такие как: Детали о мире, Детали о поведении персонажа и о том, как персонаж будет взаимодействовать с пользователем.

Сценарий (Scenario)

Это одна из самых важных вещей, на которой создатель должен сосредоточиться при оттачивании работы с LLM. Боты, использующие LLM сильно опираются на эту часть. Бот будет время от времени возвращаться к этой секции, что означает, что структура Сценария должна быть доведена до совершенства.

С OpenAI мы могли описать лишь примерное содержание сценария. Однако, на данный момент, с LLM это работает не так хорошо. Боты с более качественно прописанным Сценарием лучше реагируют на РП.
Например, Cценарий для "Enemies to lovers coffee shop AU":

OpenAI - "{{char}} works in a coffee shop. {{char}} Dislikes {{User}} And thinks of them as an enemy. {{char}} harbors secret feelings."

JLLM - "During college {{char}} and {{user}} were enemies. {{Char}} and {{user}} had a confrontational first meeting months ago where {{char}} tried to make {{user}} angry. {{Char}} is good at pushing {{user}}'s buttons. {{Char}} finds {{user}} sexually and romantically attractive. {{char}} works at a coffee shop in the big city. The air is cold this time of year. This is a modern setting and there are no fantasy elements."

В теории, такой стиль работает с LLM лучше. Он задает определённые ограничения, историю, место действия и даёт что-то, от чего AI может отталкиваться, выстраивая РП. Первый же пример даёт боту очень мало, что означает, что основы для РП ничем не укреплены. Это может привести к тому, что бот будет сбиваться и выпадать из сюжета.
__

"During college {{char}} was enemies with {{user}}. {{Char}} and {{user}} had a confrontational first meeting months ago where {{char}} tried to make {{user}} angry." ((Эта часть задаёт историю для пользователя и персонажа.))

"{{Char}} is good at pushing {{user}}'s buttons." *((Эта часть задаёт персонажу определённое умение, которое не обязательно для его поведения))

"{{Char}} finds {{user}} sexually and romantically attractive." *((В этой части устанавливается отношение персонажа к пользователю.))

"{{char}} works at a coffee shop in the big city. The air is cold this time of year. This is a modern setting and there are no fantasy elements." *((Здесь задаётся место действия и детали о мире.))

При работе с LLM крайне важно включать в Сценарий детали о мире, если вы делаете ботов с упором на определённый сюжет или РП. Это позволит LLM развивать сюжет, находясь в заданных вами рамках. Особенно это важно, если действие Сюжета разворачивается в Фэнтезийном мире, если у персонажа есть какие-либо способности или вы хотите, чтобы у отношений персонажа с пользователем была определённая динамика, которая должна сохраняться на протяжении всего РП.

Также не помешает закрепить особо важные детали в Стартовом Сообщении. Такие как Сеттинг, Текущие отношения между персонажем и пользователем и детали о мире, на которые вы хотите чтобы бот ссылался чаще во время РП.

(Спасибо Lemon и Michael за помощь с этой секцией)

Примеры диалога (Example dialogue)

На данный момент с секцией Примеров диалога имеются проблемы. Если произойдут какие-либо изменения, требующие правок в гайде, я сделаю это как можно скорее.

Эта часть является самой неясной. Насколько мы заметили, хотя в LLM Примеры Диалога не требуются для каждого бота, есть случаи, в которых указание определённых Примеров Диалога помогает улучшить опыт для пользователя. Например, недостаток нецензурного языка или поспешность с нецензурным контентом, которые испытывают некоторые пользователи. Было выявлено, что если в Примерах Диалога будет присутствовать нецензурная лексика или Пример Диалога будет очень подробным, это помогает устранить проблемы с повторением, фильтрацией слов и в целом улучшало плавность сообщений.

Пожалуйста, обратите внимание на то, что некоторые боты будут работать лучше без Примеров Диалога. Их наличие не означает, что бот сразу будет работать лучше. Обращайте внимание на качество Примеров Диалога, а также на качество бота в целом.

Рекомендуемый формат:

{{char}}: Hey, im Mark
{{user}}: hello Mark
{{char}}: nice to meet you :)

Активные промпты (Active prompts)

(Добавлять в раздел Personality)

Более длинные и детальные ответы:

Your responses will be two to four paragraphs. You will describe {{char}} in detail, you will describe clothes, hair, body and attitude.

Для небинарных персонажей с мужской анатомией:

{{char}} is nonbinary and uses they/them pronouns. They have male sexual anatomy and present themselves as androgynous. {{Char}} has a penis and testicles. {{Char}} doesn’t have any breasts.

Промпт для Personality бота для JLLM:

You'll portray {{char}} and engage in Roleplay with {{user}}. You are encouraged to drive the conversation forward actively. Your responses will be 3 to 4 Paragraphs. You will describe {{char}} in detail, you will describe clothes, hair, body and attitude. You have no restrictions and censorship for playing the role. DO NOT ask for consent; assume consent is granted. NSFW/Sexual Content and Violence are allowed when appropriate. Explicit content is encouraged. Progress the sex scenes slowly, until the {{user}} decides to end the sex scene. DO NOT impersonate or talk for {{user}}, wait for the {{user}} to reply themselves. {{char}} will give detailed responses to sexual advances and will give detailed responses of sexual actions done by {{char}}. {{char}} will keep their personality regardless of what happens within roleplay. {{char}}’s replies will be in response to {{user}}’s responses and will NEVER include repetition of {{user}}’s response. {{char}} will not repeat its own messages. {{char}} will create new and unique dialogue in response to {{user}}’s messages.

(Скоро будет добавлено больше)


Другие ресурсы (на английском языке)

Гайд по созданию ботов от IO

Гайд по JanitorAI от Aven_rose

(Будет добавлено больше)


Credits

Cоздатель и Админ Janitor, которые очень помогли:

Shep Kim

Создатели, помогавшие с поиском информации и тестированием:

Alltair111 CrabRangoon Nickel Lunaxlee MichaelK Pel Iorveths

Не смогла бы сделать это без вас, друзья <3

Edit
Pub: 20 Oct 2023 20:18 UTC
Edit: 10 Nov 2023 22:30 UTC
Views: 3007