Источники знаний: агенты Knowledge Retrieval и Knowledge Router
Knowledge Retrieval (поиск знаний) и Knowledge Router (подбор знаний) достают факты из ваших лорбуков и добавляют их в чат только тогда, когда они нужны сцене. Не приходится вписывать каждую деталь в каждый промпт. Оба агента работают только в чатах Roleplay, и по умолчанию ни один из них не включен.
Зачем они нужны
Лорбук – это набор заметок о мире или персонажах. Каждая заметка – это запись. Если отправлять все записи на каждом ходу, тратятся токены (небольшие кусочки текста, которые читает модель и за которые вы платите), а ИИ может запутаться.
Эти агенты используют генерацию, дополненную поиском (RAG): Marinara находит записи, которые подходят текущей сцене, и добавляет в промпт этого хода только их.
Выбор между Retrieval и Router
| Вопрос | Knowledge Retrieval | Knowledge Router |
| Как добавляет содержимое | Сначала пересказывает источники | Добавляет выбранные записи дословно |
| Стоимость одного хода | Выше | Ниже |
| Читает загруженные файлы | Да | Нет |
| Когда подходит | Небольшие источники или компактная сводка | Большие лорбуки с хорошими описаниями записей |
- Knowledge Retrieval читает все включенные записи в выбранных лорбуках, а также загруженные файлы, и просит ИИ пересказать факты, которые подходят к последним сообщениям. Это дороже, потому что ИИ читает весь исходный текст.
- Knowledge Router собирает небольшой каталог ваших записей. В каждой строке есть идентификатор, название, несколько ключевых слов и короткая сводка. ИИ выбирает записи из каталога, а Marinara добавляет их полностью. ИИ никогда не читает все записи, поэтому Knowledge Router остается дешевым даже с большим лорбуком.
В один чат можно добавить оба агента, но они пересекаются и повышают расход. Редактор агентов предупреждает, когда настроены оба. Выберите одного.
Добавление агента знаний в чат
Перед началом: установите агента в Agent Organizer (организатор агентов). См. Обзор агентов.
- В чате Roleplay откройте Chat Settings (настройки чата).
- Найдите раздел Agents (агенты) и включите Enable Agents (включить агентов).
- Нажмите Add Agent (добавить агента).
- Раскройте группу Writer Agents и выберите Knowledge Retrieval или Knowledge Router.
- В окне настройки выберите источники (см. ниже).
После этого в Agents появляется карточка настроек агента, и он запускается на каждом новом ходу. Пока работает Knowledge Retrieval, индикатор прогресса может показывать Retrieving knowledge....
Примечание: эти агенты запускаются только на новых ходах. При повторной генерации ответа они не запускаются снова.
Выбор источников
У обоих агентов одни и те же элементы выбора источников.
- Переключатель Use chat-active lorebooks (использовать активные лорбуки чата) по умолчанию включен. В редакторе агентов тот же переключатель подписан Use this chat's active lorebooks. Пока он включен и фиксированные лорбуки не выбраны, агент читает лорбуки, активные в текущем чате.
- Fixed source override (фиксированный список источников; в окне настройки – Fixed Source Lorebooks) привязывает агента к выбранным вами лорбукам. Фиксированный выбор всегда важнее активных лорбуков чата – во всех чатах с этим агентом.
Фиксированные источники удобны, когда агент должен всегда читать один и тот же справочный лорбук. Чтобы агент следовал за тем, что использует чат, оставьте переключатель включенным и не выбирайте фиксированных лорбуков.
Загрузка файлов (только Knowledge Retrieval)
В настройках Knowledge Retrieval нажмите Upload file (загрузить файл). Загруженные файлы доступны всем чатам с агентом Knowledge Retrieval.
Поддерживаются типы .txt, .md, .csv, .json, .xml, .html, .htm, .log, .yaml, .yml, .tsv и .pdf. Остальные типы выбрать не получится. Для каждого файла видны название и размер, а также кнопка удаления.
- Все файлы, кроме PDF, читаются как обычный текст. Файл, который не является текстом, например картинка, переименованная в
.txt, загрузится, но добавит нечитаемое содержимое. - У отсканированного PDF или PDF только из изображений нет текстового слоя. Агент вставляет заглушку вместо содержимого. Берите PDF, в котором текст можно выделить.
Как писать хорошие описания записей
Это важнее всего для Knowledge Router, который выбирает записи по их полю Description (описание).
- Откройте запись в редакторе лорбука.
- Заполните Description короткой и конкретной сводкой того, о чем запись.
Описание нужно агенту только для выбора записей. Основной модели ИИ оно как часть истории не отправляется. Если описания нет, агент берет начало содержимого записи, а это менее точно.
Когда вы выбираете для агента лорбуки-источники, рядом с Fixed source override появляется значок покрытия, например 75% described (9/12). Точка зеленая при 75% и выше, желтая от 25% до 74% и красная ниже 25%. Для пустых лорбуков на значке написано No entries yet. Стремитесь к зеленому.
Необязательно: отбор по смыслу
Knowledge Router умеет искать записи-кандидаты не только по ключевым словам, но и по смыслу. Для этого нужна модель эмбеддингов – небольшая модель, которая переводит текст в числа, чтобы Marinara могла сравнивать смысл. Без нее агент тоже работает.
- Откройте редактор лорбука и найдите Semantic search (embeddings) (семантический поиск).
- Выберите аккаунт с моделью эмбеддингов. Если в Connections → Defaults (подключения → по умолчанию) задано значение по умолчанию для Embeddings (эмбеддинги), оно выбирается само, если раньше вы не выбрали другой источник.
- Используйте тот же источник эмбеддингов, что и аккаунт чата. Векторы другого размера пропускаются.
- Нажмите кнопку векторизации. На ней указано, скольким записям еще нужны векторы. Re-vectorize all (векторизовать все заново) пересчитывает каждую запись.
Если у лорбука нет векторов или модель эмбеддингов недоступна, агент составляет список кандидатов только по ключевым словам. Ничего не ломается. См. Семантический поиск в лорбуках.
Смежные руководства
- Семантический поиск в лорбуках
- Обзор лорбуков
- Агенты: помощники ИИ в чатах