Записи лорбука: ключевые слова, позиция и время срабатывания

Запись – это один факт в лорбуке плюс правила, которые решают, когда Marinara добавит его в промпт. В этом руководстве разобрано, как добавлять записи, выбирать ключевые слова и тип записи, решать, куда запись попадет, и настраивать время срабатывания.

Перед началом: создайте лорбук и откройте его. См. Обзор лорбуков.

Вкладка Entries

Откройте лорбук в панели Lorebooks (лорбуки). У редактора две вкладки: Overview (обзор) и Entries (записи). Нажмите Entries, чтобы увидеть список. Значок на вкладке показывает, сколько у вас записей.

На панели инструментов есть такие элементы.

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

Добавление и изменение записи

  1. Нажмите Add Entry. Появится новая строка.
  2. Впишите название в строке. Название нужно каждой записи. Оно нужно вам и поиску, а не ИИ.
  3. Нажмите на строку или на ее стрелку. Под строкой откроется панель со всеми полями.
  4. Впишите ключевое слово в Primary Keys (основные ключевые слова) и нажмите <kbd>Enter</kbd>. Затем напишите текст для ИИ в Content (содержимое). См. Содержимое и ключевые слова.

Правки сохраняются сами. В панели видно Autosaving…, затем Saving…, затем Saved automatically. Если сохранить не удалось, ваш текст остается на месте, а Marinara повторяет попытку при следующей правке.

Чтобы скопировать запись, нажмите Duplicate entry (дублировать запись) в ее строке. Чтобы удалить ее, нажмите Delete entry (удалить запись) и подтвердите. На компьютере эти кнопки появляются, когда вы наводите курсор на строку.

Содержимое и ключевые слова

ПолеЧто это
Primary KeysСлова, которые активируют запись. Впишите слово и нажмите <kbd>Enter</kbd>, чтобы добавить его. Запись Normal активирует любое одно совпадение.
ContentТекст, который отправляется ИИ. Пишите простой факт. В нем работают макросы, а под полем видна оценка в токенах.
Secondary Keys (дополнительные ключевые слова)Добавочные ключевые слова, которые используют только записи Selective.
Description (описание)Краткая сводка, которую читает только агент Knowledge Router. В основную модель она не отправляется никогда. См. Источники знаний.

Список длиннее 10 ключевых слов показывает первые 10. Нажмите Show N more (показать еще N), чтобы увидеть остальные, и Collapse (свернуть), чтобы скрыть их. Скрытые ключевые слова по-прежнему срабатывают.

Например, запись с названием Silverhaven, ключевыми словами Silverhaven и the capital и содержимым Silverhaven is the mountain capital. Its people mine blue crystal and distrust outsiders. попадает к ИИ всякий раз, когда любое из этих слов появляется в недавнем чате.

Правила совпадения

По умолчанию ключевое слово совпадает, если оно встречается где угодно в недавнем чате, а регистр букв не важен. Это меняют три элемента.

Используйте Regex, только если знаете регулярные выражения. У каждого шаблона короткий лимит времени, и слишком долгий шаблон не совпадает, поэтому держите шаблоны простыми. Например, \bVlad(?:'s)?\b совпадает с "Vlad" и "Vlad's".

Выбор типа записи

Нажмите на цветную точку в строке, чтобы открыть меню типов.

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

Для записи Selective добавьте Secondary Keys и выберите кнопку Logic (логика).

LogicЗапись срабатывает, когда
AND AnyПоявляется хотя бы одно дополнительное ключевое слово.
AND AllПоявляются все дополнительные ключевые слова.
NOT AnyНе появляется ни одно дополнительное ключевое слово.
NOT AllНе все дополнительные ключевые слова появляются вместе.

Например, основное ключевое слово king с дополнительным Silverhaven и логикой AND Any срабатывает, только когда в чате упомянуты оба.

Если не получилось: у записи Normal без ключевых слов нечему совпадать. Добавьте ключевые слова или сделайте ее Constant. Запись без ключевых слов по-прежнему можно найти по смыслу, но только когда семантический поиск полностью настроен.

Position, Depth и Order

Эти элементы решают, куда активированная запись попадет в промпте. На широком экране они находятся в компактной строке. На узком экране нажмите в строке кнопку Entry quick controls (быстрое управление записью).

ЭлементЧто делает
Position (позиция)Куда попадает запись. По умолчанию Before character definitions (перед описаниями персонажей).
Before character definitionsПеред карточкой персонажа в промпте. Метка в строке – ↑Char.
After character definitions (после описаний персонажей)После карточки персонажа. Метка в строке – ↓Char.
@ DepthВнутри истории чата. Метка в строке – @Depth.
OutletНикуда автоматически (см. ниже).
Depth (глубина)Показывается только для @ Depth. На сколько сообщений назад от последнего стоит запись. По умолчанию 4.
Order (порядок)Последовательность, когда активируется несколько записей. Меньшее число идет раньше и переживает обрезку, когда лимит поджимает. По умолчанию 100.

Role (роль) находится в раскрытой панели записи, а не в быстрых настройках. Она помечает вставленный текст как System, User или Assistant, важна только для @ Depth и по умолчанию равна System.

Оставляйте эти настройки по умолчанию, пока записи не понадобится большее. Позицию @ Depth используйте редко. Текст попадает между недавними сообщениями, как вмешательство посреди разговора, поэтому берите ее для правила, которое модель постоянно забывает, или для факта, который только что изменился. Например, "The tavern is now on fire." на @ Depth 1.

Outlet

Запись Outlet появляется только там, где вы поставили макрос.

  1. Задайте для Position значение Outlet. Появится поле Outlet name (имя outlet).
  2. Впишите точное имя с учетом регистра, например character_rules.
  3. Поставьте {{outlet::character_rules}} в раздел промпта вашего пресета.

Записи с одинаковым именем соединяются в порядке Order и разделяются переводами строки. Макросы outlet работают в разделах промпта в чатах Conversation, Roleplay и Game. Появляются только записи, активированные для этого ответа. Они по-прежнему подчиняются ключевым словам, вероятности, фильтрам, времени срабатывания, Entry Limit (лимит записей) и Token Budget (лимит токенов). Если активных записей нет, макрос ничего не добавляет. Запись Outlet не может вызвать другой макрос outlet. О самом макросе см. макросы.

Вероятность и время срабатывания

Probability (вероятность) – это шанс, что запись сработает, когда ее ключевые слова совпали. По умолчанию 100%. Задайте 25%, чтобы шанс был один из четырех каждый раз.

Поля Timing (время) управляют поведением записи на протяжении нескольких сообщений. Изначально все четыре не заданы, то есть выключены.

ПолеЧто делаетПример
StickyПосле срабатывания запись остается активной еще столько сообщений, даже без совпадения ключевого слова.Раскрытый секрет со значением 3 остается еще на три сообщения.
CooldownПосле срабатывания запись ждет столько сообщений, прежде чем сможет сработать снова.Знамение со значением 5 срабатывает не чаще раза в пять сообщений.
DelayЗапись не может сработать, пока в чате не наберется столько сообщений.Поворот сюжета со значением 20 поначалу остается скрытым.
EphemeralЗапись выключает себя сама после такого числа активаций. 0 означает без ограничений.Вступительная заметка со значением 1 срабатывает один раз.

Sticky, Cooldown и Delay считают сообщения. Ephemeral считает активации.

Активация по решению

Поле Decision (решение) позволяет вашей модели решений, небольшой модели, которая отвечает на вопросы да или нет, решить, подходит ли запись. Напишите утверждение о недавнем чате, например In the latest message, a dragon is physically present, и выберите режим.

РежимЧто происходит
Off (выключено)Запись активируется как обычно. Это значение по умолчанию.
Require (требовать)Запись активируется как обычно и только тогда, когда утверждение тоже истинно. Это отсекает упоминания вскользь.
Trigger (активировать)Утверждение – еще один способ активировать запись, даже без ключевого слова. Это ловит перефразировки и ситуации.

В утверждении можно использовать макросы, например {{user}} и {{char}}.

Перед началом: выберите модель решений в Decision model (модель решений) на панели Connections (подключения). Без модели решений или без ответа утверждение засчитывается как нет. Редактор предупреждает, когда модель не выбрана.

Дайте важным записям и обычный способ активации, а Require используйте только для фильтрации необязательного лора.

Require проверяет только запись, которая уже проходит по ключевым словам, семантическому совпадению, типу Constant или месту на карте, и пропускает ее, только если утверждение тоже истинно. На записи Constant он делает запись ситуативной, например правила боя с A fight is happening in the latest message. Он не сканирует все неиспользованные записи.

Утверждения решений добавляют запросы к модели и делят общий лимит Decision statements per turn (утверждения решений за один ответ). Советы по формулировкам, ограничения, стоимость и повторное использование ответов описаны в разделах Как писать утверждения, Ограничения и стоимость и Повторное использование ответов. О настройке модели см. Модели решений.

Подробнее:

Группы, фильтры и другие настройки

В раскрытой панели есть еще поля.

ПолеЧто делает
Group (группа)Записи одной группы взаимоисключающие. За один ответ активируется только одна. Используйте для вариантов, например трех записей "погода на сегодня". Сочетайте с низкой Probability, чтобы слухи всплывали лишь изредка.
Tag (тег)Свободная метка для вашей собственной сортировки. На активацию не влияет.
Locked (заблокировано)Запрещает агенту Lorebook Keeper менять эту запись. См. Справочник агентов для скачивания.
No VectorИсключает запись из семантического поиска. См. Семантический поиск в лорбуках.
Recursion (рекурсия)Разрешает содержимому этой записи активировать другие записи. По умолчанию выключено. См. Лимиты токенов и рекурсия в лорбуках.

Раздел Context filters & matching sources (фильтры контекста и источники совпадений) ограничивает запись определенными персонажами, тегами персонажей или типами генерации. Он также позволяет искать ключевые слова записи в дополнительных полях карточки, например в описании персонажа. В групповом чате в режиме Individual (по отдельности) каждый ответ учитывает только персонажа, который его пишет, поэтому фильтр по персонажу не пускает запись в ответы других персонажей. В ответе Merged (Narrator) (объединенный, с рассказчиком) учитываются все персонажи чата, поэтому запись остается, если в чате есть любой из отфильтрованных персонажей. Используйте это для секретов, которые знает только один персонаж.

Выбор настроек для факта

Спросите себя, когда ИИ должен видеть этот факт, а затем воспользуйтесь таблицей.

ФактНастройка
Верен всегдаConstant. Таких записей должно быть немного.
Важен, только когда его называютNormal с точными ключевыми словами, например Castle Dracul, the castle, the fortress.
Его ключевое слово распространенное, например king или homeWhole Words или Selective с дополнительными ключевыми словами.
Важен, но его редко называютNormal с семантическим поиском или более широкие ключевые слова.
Несколько версий, которые не должны появляться вместеОдна и та же Group.
Правило, которое модель забывает посреди сцены@ Depth примерно от 1 до 4.

Привычки, которые держат лорбук компактным:

Например, возьмем правило о том, как можно убить злодея, – факт, который ИИ склонен забывать. Сделайте запись Selective с логикой AND Any, включенным Whole Words и Order 10. Задайте основные ключевые слова weakness, kill, destroy, stake и дополнительные Vlad, the count. Дополнительные слова не дают записи сработать, когда отряд убивает волка. Whole Words не дает stake совпасть с "mistake". Низкий порядок не дает записи попасть под обрезку в многолюдной сцене.

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

Макросы в содержимом записи

Поле Content раскрывается перед отправкой так же, как любой другой текст промпта. Полезные макросы:

Полный список см. в руководстве Макросы промптов.

Когда включен Recursive (рекурсивно), Marinara заново сканирует раскрытое содержимое активированных записей. Текст, который выдает макрос, может активировать другие записи.

Инструмент Keyword test

Панель Keyword test (проверка ключевых слов) вверху вкладки Entries проверяет ваши ключевые слова без чата.

  1. Раскройте Keyword test.
  2. Вставьте в поле пример абзаца или несколько сообщений.

Записи, которые бы совпали, получают зеленый акцент и плашку Would activate. Записи Constant получают плашку Always active. Строка со счетчиком показывает, сколько включенных записей активировалось бы. Переключатель Include other lorebooks (учитывать другие лорбуки) проверяет также включенные записи в других ваших лорбуках.

Проверка не учитывает время срабатывания, вероятность, фильтры по персонажам и персонам, а также совпадение по смыслу, поэтому живой чат может отличаться.

Папки записей

Папки группируют записи внутри одного лорбука. Они не связаны с папками библиотеки в панели Lorebooks.

Папки видны как группы, только когда вы сортируете по Order без поиска. Иначе вы видите плоский список и примечание Folder view paused (clear search and sort by Order).

Устранение неполадок

СимптомРешение
Запись никогда не срабатывает.Задайте ей ключевые слова или сделайте ее Constant. Проверьте, что лорбук включен и активен в чате.
Ключевое слово работало, а потом перестало.Marinara сканирует только несколько последних сообщений: это Scan Depth (глубина сканирования, по умолчанию 2). Увеличьте Scan Depth, добавьте Sticky или сделайте запись Constant.
Запись срабатывает не в тех сценах.Используйте Whole Words, дополнительные ключевые слова Selective или фильтр по персонажу.
Важный лор теряется.Задайте ему меньший Order или увеличьте Token Budget. Раздел Active Context (активный контекст) в Chat Settings (настройки чата) показывает, что пропущено и почему. См. Лимиты токенов и рекурсия в лорбуках.
ИИ не обращает внимания на запись.Проверьте в Active Context, что она активировалась. Факт далеко от последнего сообщения влияет слабее, чем факт, поставленный рядом с последним сообщением через @ Depth.

Смежные руководства