Справочник › ⚙️ Настройки › Пресеты
Regex и макросы в пресете
Regex внутри пресета
Вот здесь начинается следующий уровень Tavern-магии.
Пресет может содержать собственные Regex-скрипты.
Regex способен автоматически менять текст до того, как модель его увидит, или после того, как модель уже ответила, но до показа пользователю.
Например, пресет может использовать Regex, чтобы удалять служебные теги, скрывать внутренние конструкции, очищать специальные блоки, менять формат ответа или преобразовывать определённые шаблоны.
Почему пресет без Regex иногда работает «не так»
Представим, что пресет говорит модели: «каждый ответ начинай со специального технического блока». А Regex автора потом этот блок удаляет перед показом пользователю.
В SillyTavern вы видите красивый чистый ответ.
Теперь уберём Regex. И пользователь внезапно получает служебный тег перед каждой сценой.
Пресет вроде бы работает — просто отсутствует вторая половина трюка.
Именно поэтому Regex может быть полноценной частью задумки пресета.
Что делает Limerence с Regex пресета
Когда пресет включается в Теме, его Regex-скрипты также подключаются к этой Теме.
Посмотреть их можно через /regex или /settings → Расширенные → Вид → Regex-скрипты.
При выключении или смене пресета Regex, пришедшие именно от старого пресета, удаляются.
Ваши собственные Regex и скрипты других источников при этом не должны удаляться вместе с ним.
Состояние Regex берётся из самого пресета
Если автор preset JSON сохранил Regex включённым, он может быть включён и при применении пресета. Если выключенным — остаётся выключенным.
Поэтому с пресетами из неизвестных источников полезно хотя бы посмотреть /regex.
Особенно если после активации внезапно исчезает часть текста, странно меняется формат, модель видит сообщения иначе, чем вы, или появляются необычные служебные конструкции.
Что такое макросы
Внутри хороших пресетов часто встречаются конструкции {{char}}, {{user}}, {{scenario}}, {{input}}.
Это макросы. Они означают: во время генерации подставь сюда актуальное значение.
Например, Always portray {{char}} consistently. может превратиться для конкретной истории в «Always portray Adrian consistently».
Какие вещи может подставлять Limerence
Поддерживается большой набор SillyTavern-подобных макросов.
Например, пресет может обращаться к имени персонажа, имени персонажа игрока, описанию карточки, характеру, сценарию, персоне игрока, текущему сообщению, последнему сообщению, Заметке автора, синопсису, игровому дню, дате и времени, модели, текущему контексту и некоторым переменным самого пресета.
Есть также условные, случайные и служебные макросы.
Переменные внутри пресета
Продвинутые пресеты могут даже сохранять значение, а позже использовать его в другом блоке.
Limerence поддерживает значительную часть такой логики.
То есть блоки пресета могут быть не просто независимыми кусками текста — они способны взаимодействовать через совместимые макросы.
Для обычного пользователя это не требует настройки. Вы просто должны понимать, почему JSON с виду может выглядеть как заклинание программиста после трёх суток без сна.