Перейти к основному содержимому

Обзор

Runtime Local LLM Documentation

Runtime Local LLM — это плагин, который запускает большие языковые модели полностью на устройстве с помощью llama.cpp, без необходимости подключения к интернету во время выполнения. Он поддерживает файлы моделей GGUF и предоставляет полный API Blueprint для загрузки моделей, отправки сообщений и получения ответов токен за токеном, всё это в фоновом потоке с обратными вызовами на игровом потоке.

Плагин поддерживает Windows, Mac, Linux, Android (включая Meta Quest и другие платформы на базе Android), а также iOS.

Ключевые особенности

  • Полный офлайн-инференс: Никаких облачных сервисов или ключей API во время выполнения
  • Поддержка моделей GGUF: Загружайте любые модели в формате GGUF (Llama, Mistral, Phi, Gemma, Qwen и др.)
  • Актуальная версия llama.cpp: Регулярно обновляется на Fab, чтобы идти в ногу с релизами llama.cpp, поэтому всегда поддерживаются новейшие форматы моделей GGUF
  • Ускорение GPU: Использует Vulkan на Windows и Linux, Metal на Mac и iOS, а также CPU + инструкции на Android и Meta Quest
  • Несколько способов загрузки моделей:
    • Загрузить из локального файла
    • Загрузить по имени модели (выбор из выпадающего списка в Blueprints)
    • Скачать по URL и загрузить автоматически
    • Только скачивание для предварительного кэширования моделей
  • Потоковая передача токен за токеном: Получайте каждый токен по мере его генерации для отображения в реальном времени
  • Асинхронные ноды Blueprint: Ноды с выходными делегатами для загрузки, отправки сообщений и скачивания
  • Настраиваемые параметры инференса: Температура, Top-P, Top-K, штраф за повторения, выгрузка слоев на GPU, размер контекста, сид, количество потоков и системный промпт
  • Управление диалогами: Многоходовые беседы со сбросом контекста, сохранением/загрузкой на диск, снимками в памяти и автоматическим обобщением для длительных чатов
  • Редакторский менеджер моделей: Просматривайте, скачивайте, импортируйте, удаляйте и тестируйте модели прямо в настройках проекта
  • Кроссплатформенная упаковка: Модели поставляются с вашим проектом через стадирование NonUFS

Как это работает

  1. Управление моделями в редакторе: Используйте панель настроек плагина для просмотра каталога предопределенных моделей, их загрузки или импорта собственных GGUF-файлов
  2. Загрузка модели во время выполнения: Вызовите одну из функций загрузки (по файлу, по имени, по URL или по метаданным) с вашими параметрами вывода
  3. Отправка сообщений: Передайте сообщение пользователя экземпляру LLM; токены поступают обратно через делегаты по мере генерации ответа моделью
  4. Использование ответа: Отображайте токены в интерфейсе чата, управляйте диалогами NPC, генерируйте динамический контент или передавайте в другие системы

Все вычисления выполняются в выделенном фоновом потоке. Обратные вызовы (генерация токенов, завершение, ошибки) срабатывают в игровом потоке, поэтому вы можете безопасно обновлять из них интерфейс и состояние игры.

Типичные сценарии использования

  • Внутриигровые чат-боты и ассистенты: Вопросы и ответы, справочные системы, динамические руководства
  • Диалоги NPC: Разговорные NPC с постоянной памятью на персонажа, использующие снимки бесед
  • Длительные ролевые игры и повествовательные системы: Автоматическое обобщение позволяет удерживать многочасовые разговоры в пределах контекста без потери ключевых фактов
  • Процедурный контент: Генерация описаний заданий, предысторий предметов, деревьев диалогов на лету
  • Приложения, работающие в первую очередь офлайн: Всё, что требует возможностей LLM без подключения к сети

Хранение и упаковка моделей

Модели хранятся в виде файлов .gguf в каталоге Content/RuntimeLocalLLM/Models вашего проекта. Плагин автоматически настраивает Дополнительные каталоги, не являющиеся ассетами, для копирования (DirectoriesToAlwaysStageAsNonUFS), чтобы файлы моделей поставлялись вместе с упакованным проектом и оставались доступными через стандартный файловый ввод-вывод во время выполнения.

Каждая модель также имеет сопутствующий файл .json, в котором хранятся её метаданные (отображаемое имя, семейство, вариант, описание, количество параметров).

Поддерживаемые модели

Плагин работает с любой моделью в формате GGUF. Редактор предоставляет каталог популярных предустановленных моделей для загрузки в один клик, а также позволяет импортировать любой пользовательский GGUF-файл. Распространённые семейства моделей включают:

  • Llama (Meta) — 1B, 3B, 8B и больше
  • Mistral / Mixtral — 7B и больше
  • Phi (Microsoft) — 2B, 3B, 4B
  • Gemma (Google) — 2B, 7B
  • Qwen (Alibaba) — 1.5B, 7B и больше
  • TinyLlama — 1.1B
  • И многие другие модели сообщества

Квантование

Модели бывают различных уровней квантизации, которые позволяют находить компромисс между качеством, размером и скоростью:

КвантованиеКачествоSizeСкорость
Q2_KНижнийСамый маленькийСамый быстрый
Q4_K_MGoodСреднийFast
Q5_K_MЛучшеБолее крупныйУмеренный
Q8_0HighБольшойМедленнее
F16 / F32ВысочайшееКрупнейшийСамый медленный

Для мобильных устройств и VR-гарнитур рекомендуются меньшие квантования (Q2_K–Q4_K_M) с компактными моделями (1–3 млрд параметров). Для настольных ПК можно использовать более крупные модели и более высокие уровни квантования в зависимости от доступной оперативной памяти и ресурсов CPU/GPU.

Дополнительные ресурсы

Join our Discord
online · support