Фрагмент экрана с настройками провайдера в DenAI

Провайдер API

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

Справа от списка находится индикатор статуса соединения:

  • Зеленый чекбокс — подключение успешно установлено.
  • Красный восклицательный знак — ошибка подключения.

Нажатие на индикатор запускает повторную проверку связи с выбранным провайдером.

Кнопки создания и редактирования открывают окно настроек для ввода адреса API и ключа доступа, которые предоставляются используемым бэкендом LLM.

Для опытных пользователей предусмотрено поле дополнительных параметров. Введенные настройки в формате JSON автоматически добавляются в тело запроса к API.

Например, если указать следующий JSON:

{
  "provider": {
    "ignore": ["lepton", "together"],
    "data_collection": "deny"
  }
}

Приложение встроит эти данные в каждый отправляемый запрос:

{
  "model": "vendor/model-name",
  "messages": [{"role": "user", "content": "Hello!"}],
  "provider": {
    "ignore": ["lepton", "together"],
    "data_collection": "deny"
  }
}
Фрагмент экрана с выбором моделей в DenAI

Выбор модели, токенизатора и размера контекста

  • Основная текстовая модель: ИИ, который отвечает на текстовые сообщения и ведет ролевую игру. Именно к этой модели применяются все остальные параметры генерации (размер контекстного окна, температура, Min P и т.д.).
  • Vision модель: Модель, отвечающая за распознавание изображений. Если основная текстовая модель мультимодальная, можно выбрать ее же. Также можно указать любую другую стороннюю vision-модель для экономии. На историю чата этот выбор напрямую не влияет, так как основная текстовая модель получает в контекст уже готовое текстовое описание картинки.
  • Embedding модель: Модель для работы с векторными представлениями текста, необходимая для корректного поиска по книгам знаний (лорбукам). Далеко не все эмбеддинг-модели хорошо справляются с русским языком, поэтому к выбору стоит отнестись внимательно. Кроме того, смена этой модели при уже созданных лорбуках приведет к их полной перевекторизации, что потребует дополнительного времени и затрат.

Локальный словарь токенизатора необходим для подсчета токенов в чате. Если точный токенизатор используемой модели неизвестен, рекомендуется выбрать безопасный профиль Llama 3. В таком случае подсчет может идти в чуть большую сторону, но это убережет от непредвиденных трат или вылетов по памяти при общении на пределе возможностей LLM или видеокарты. Для максимально точного подсчета можно скачать нужный словарь самостоятельно и скопировать его в директорию пользовательских словарей (Мои документы/DenAI/tokenizers).

Лимит токенов контекста (ползунок) определяет объем памяти в токенах, выделяемый под текущую сессию общения. Чем выше значение, тем более длинную историю чата модель удерживает в памяти без вызова автоматической суммаризации. При настройке важно учитывать следующие факторы:

  • У каждой модели есть свои жесткие ограничения. Выбирая небольшую модель (особенно прошлых поколений), необходимо заранее уточнить размер ее максимального контекстного окна.
  • Хотя современные LLM поддерживают контекст в сотни тысяч и миллионы токенов, его раздувание приводит к серьезным расходам при работе по коммерческому API или к нехватке видеопамяти при локальном запуске. Пользователям без опыта работы с LLM рекомендуется изучить эту тему подробнее.
Фрагмент экрана с параметрами генерации в DenAI

Параметры сэмплинга (генерации текста)

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

  • Temperature (Температура): Отвечает за случайность и «креативность» ответов модели.
    • Обычный диапазон: от 0.5 до 1.5 (по умолчанию обычно 1.0).
    • Как использовать: Низкие значения (0.5–0.7) делают ответы строгими, логичными и предсказуемыми. Высокие значения (1.1–1.5) добавляют тексту эмоциональности, неожиданных сюжетных поворотов и разнообразия реплик, но при чрезмерном завышении ИИ может начать путаться в фактах или генерировать бессмыслицу.
  • Min P (Минимальная вероятность): Современный и очень эффективный фильтр, отсекающий маловероятные токены (слова) на основе их относительной вероятности. В отличие от старого Top P, он динамически подстраивается под уверенность модели.
    • Обычный диапазон: от 0.02 до 0.10.
    • Как использовать: Позволяет использовать высокую температуру без риска сломать логику ИИ. Значение 0.05 означает, что из вариантов ответа исключаются все слова, вероятность которых меньше 5% от вероятности самого ожидаемого слова. Это очищает текст от случайного «мусора».
  • Top P (Ядерное сэмплирование): Ограничивает выбор модели набором слов, суммарная вероятность которых составляет заданный процент.
    • Обычный диапазон: от 0.85 до 1.0.
    • Как использовать: Обычно оставляют на 1.0 (выключен), если используется Min P. Если вы предпочитаете классическую настройку, снижение Top P до 0.9–0.95 поможет отсечь совсем редкие и странные слова, делая речь ИИ более стабильной.
  • Repetition Penalty (Штраф за повторения): Определяет, насколько сильно модель наказывается за использование одних и тех же слов и фраз в пределах контекста.
    • Обычный диапазон: от 1.0 (штраф отсутствует) до 1.2.
    • Как использовать: Если ИИ начинает циклиться, повторять ваши реплики, использовать излюбленные паразитные фразы из сообщения в сообщение — аккуратно поднимите ползунок до 1.05–1.15. Не завышайте параметр слишком сильно (выше 1.2), иначе модель начнет ломать грамматику и синонимы, лишь бы не использовать запрещенные слова.

Глобальные инструкции

Текстовое поле в правой части экрана, задающее базовые правила игры, которые неявно подмешиваются ко всем чатам приложения. Это «фундамент» поведения ИИ, который он обязан соблюдать независимо от выбранного персонажа.

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

Пример глобального промпта для RP:

Write in a narrative, literary style. Avoid clichés, poetic metaphors, and purple prose. 
Focus on action, dialogue, and sensory details. Never speak, act, or think for the User. 
Stay in character at all times.

(Рекомендуется писать системные инструкции на английском языке даже если сама игра ведется на русском).