Лорбуки
Лорбуки (также известные как Информация о Мире или Книги Знаний) - это мощный инструмент для динамического управления контекстом в задачах взаимодействия с языковыми моделями. Это не просто статическая энциклопедия мира, а активный компонент, который динамически вставляет релевантную информацию в промпт модели в зависимости от текущего контекста разговора. Лорбуки функционируют как динамический словарь, который активирует и вставляет соответствующую информацию только тогда, когда ключевые слова, связанные с записями, присутствуют в тексте сообщения. Представим себе лорбук о мире какого-то аниме. Если в чате проскальзывает имя персонажа или какое-то событие, то языковая модель вместо того, чтобы брать эту информацию из перегруженной карточки персонажа, вытаскивает записи из лорбука, в которых фигурирует имя или событие, а к этим записям прикреплен текст, который описывает упомянутое ранее имя, событие или что-либо другое. Таким образом мы серьезно облегчаем нагрузку на модель, ведь новые данные добавляются в контекст динамически и при ненадобности оттуда удаляются.

Lorebooks Editor
Лорбуки по своей природе созданы для того, чтобы:
- Добавлять в контекст чата информацию о мире, персонажах, событиях или локациях
- Предотвращать забывание важных деталей по мере увеличения истории чата
- Увеличивать погружение в ролевые игры с языковой моделью
- Обеспечивать более точную и соответствующую контексту генерацию текста персонажа
- Экономить токены контекста за счет вставки информации только по мере необходимости
Важно! Наличие лорбуков не гарантирует появления определенной информации в генерируемом тексте - это зависит от способности модели использовать дополнительную информацию.
Структура Лорбуков
Лорбуки состоят из отдельных записей, каждая из которых имеет следующие компоненты:
- Ключи (Keys) - это список ключевых слов, которые активируют вставку записи в промпт. Ключи не чувствительны к регистру.
- Содержание записи (Entry Content) - это текст, который вставляется в промпт при активации записи. Это может быть описание локации, детали о персонаже, исторические факты, правила мира или любая другая информация, которая должна быть доступна модели при генерации ответа. Важно помнить, что содержание должно быть кратким и информативным. Поскольку общий объем контекста ограничен, рекомендуется сохранять записи лаконичными, чтобы эффективно использовать доступные токены.
- Глубина сканирования - это настройка, которая определяет число сообщений в истории чата, в которых программа будет искать ключевые слова из добавленных в лорбук записей.
Как создавать эффективные лорбуки?
Одним из ключевых аспектов создания лорбуков является выбор структуры данных. Выделяется два основных подхода, мы о них уже говорили в разделе создания персонажей:
- PLists - это упрощенный формат для описания объектов и их свойств в границах квадратных скобочек. Например,
[Novigrad (Free City): the city-state and the largest human settlement in the Northern Kingdoms, located in the delta of the Pontar River in the territory of the Kingdom of Redania, there are (tavern, bank, hotel, castle), kind people, rich]
. Для ключей используйте любые слова, которые ассоциируются с местом. В одной записи можно прилагать несколько ключей, таким образом программа сможет использовать одну и ту же запись на нескольких ключевых словах. - Ali:Chat, как мы уже знаем, используется для предоставления примеров диалогов, показывающих, как персонаж может реагировать на определенные элементы мира. Вы можете сделать текст записи в виде краткого диалог между пользователем и персонажем, который будет реагировать на какое-то событие.
Множество PList записей имеет высокую вероятность вызывать утечку скобок - это когда квадратные скобки, используемые для форматирования данных, неправильно обрабатываются языковой моделью и становятся видимыми в генерируемом тексте. Сохраняйте записи лорбуков краткими и информативными, устанавливайте подходящую глубину сканирования (в пределах от 2 до 5 сообщений, для сценариев с приключениями можете повысить до 15). Не перегружайте лорбуки избыточной информацией - сосредоточьтесь на самом важном.
Для эффективных ролевых игр с языковой моделью рекомендуется использовать следующую структуру лорбука: для начала выберите основную категорию записи (место, персонаж, организация, история, культура, технологии или магия), а потом для каждого элемента напишите краткое описание в формате PList, пример диалога или реакции персонажа на этот элемент, ключевые слова, которые активируют запись.
Лорбуки - это не панацея, однако важно с ними экспериментировать дабы выработать идеальный способ использовать их. Эффективное использование лорбуков требует баланса между детализацией и экономией токенов, тщательного выбора ключевых слов и понимания того, как информация вставляется в промпт модели. С правильной настройкой лорбуки могут значительно улучшить качество генерации, сделать ваши ролевые игры более глубокими и увлекательными и позволить вашим персонажам помнить важные детали из диалога даже при длительных чатах.
Следующий раздел будет посвящен модулю умной памяти, который является очередной важной оптимизацией потребления токенов языковой моделью.