Обзор

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
Как это работает
- Управление моделями в редакторе: используйте панель настроек плагина для просмотра каталога предопределённых моделей, их загрузки или импорта собственных файлов GGUF
- Загрузка модели во время выполнения: вызовите одну из функций загрузки (по файлу, по имени, по URL или по метаданным), передав параметры вывода
- Отправка сообщений: передайте сообщение пользователя экземпляру LLM; токены поступают через делегаты по мере генерации ответа модели
- Использование ответа: отображайте токены в интерфейсе чата, управляйте диалогами 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.
Дополнительные ресурсы
- Получить на Fab
- Сайт продукта
- Скачать демо (Windows)
- Видеоурок
- Поддержка плагина и разработка на заказ: [email protected] (индивидуальные решения для команд и организаций)