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

Обзор

Документация Runtime Local LLM

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

Плагин поддерживает 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, размер контекста, seed, количество потоков и системный промпт
  • Управление контекстом диалога: поддержка многоэтапных бесед с возможностью сброса контекста
  • Менеджер моделей в редакторе: просмотр, загрузка, импорт, удаление и тестирование моделей прямо в настройках проекта
  • Кроссплатформенная упаковка: модели поставляются вместе с проектом через NonUFS staging

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

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

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

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

Модели хранятся в виде файлов .gguf в каталоге Content/RuntimeLocalLLM/Models вашего проекта. Плагин автоматически настраивает Additional Non-Asset Directories To Copy (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
  • И множество других моделей сообщества

Квантизация

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

КвантизацияКачествоРазмерСкорость
Q2_KНижеНаименьшийСамый быстрый
Q4_K_MХорошееСреднийБыстрый
Q5_K_MЛучшеБольшеУмеренный
Q8_0ВысокоеБольшойМедленнее
F16 / F32НаивысшееНаибольшийСамый медленный

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

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

Join our Discord
online · support