Pular para o conteúdo principal

Visão Geral

Runtime Local LLM Documentation

Runtime Local LLM é um plugin que executa grandes modelos de linguagem inteiramente no dispositivo usando o llama.cpp, sem necessidade de conexão com a internet em tempo de execução. Ele oferece suporte a arquivos de modelo GGUF e disponibiliza uma API completa em Blueprint para carregar modelos, enviar mensagens e receber respostas token a token, tudo em uma thread em segundo plano com callbacks na thread do jogo.

O plugin oferece suporte a Windows, Mac, Linux, Android (incluindo Meta Quest e outras plataformas baseadas em Android) e iOS.

Principais Funcionalidades

  • Inferência completamente offline: Sem serviços de nuvem ou chaves de API em tempo de execução
  • Suporte a modelos GGUF: Carrega qualquer modelo no formato GGUF (Llama, Mistral, Phi, Gemma, Qwen, etc.)
  • llama.cpp atualizado: Atualizado regularmente no Fab para acompanhar os lançamentos do llama.cpp, garantindo que os formatos mais recentes de modelos GGUF sejam sempre suportados
  • Aceleração por GPU: Utiliza Vulkan no Windows e Linux, Metal no Mac e iOS, e CPU + intrínsecos no Android e Meta Quest
  • Múltiplos métodos de carregamento de modelo:
    • Carregar a partir de um caminho de arquivo local
    • Carregar pelo nome do modelo (seleção em menu suspenso nos Blueprints)
    • Baixar de uma URL e carregar automaticamente
    • Apenas baixar para pré-armazenamento em cache de modelos
  • Streaming token a token: Recebe cada token conforme ele é gerado para exibição em tempo real
  • Nós Blueprint assíncronos: Nós com delegates de saída para carregamento, envio de mensagens e download
  • Parâmetros de inferência configuráveis: Temperature, Top-P, Top-K, penalidade de repetição, descarregamento de camadas na GPU, tamanho de contexto, seed, número de threads e prompt do sistema
  • Gerenciamento de contexto de conversa: Mantém conversas de múltiplas interações com suporte para reinicialização de contexto
  • Gerenciador de modelos no editor: Navegue, baixe, importe, exclua e teste modelos diretamente nas configurações do projeto
  • Empacotamento multiplataforma: Os modelos são incluídos no seu projeto por meio do staging NonUFS

Como Funciona

  1. Gerenciar modelos no editor: Use o painel de configurações do plugin para navegar por um catálogo de modelos pré-definidos, baixá-los ou importar seus próprios arquivos GGUF
  2. Carregar um modelo em tempo de execução: Chame uma das funções de carregamento (por arquivo, por nome, por URL ou por metadados) com seus parâmetros de inferência
  3. Enviar mensagens: Passe uma mensagem do usuário para a instância do LLM; os tokens são transmitidos de volta por meio de delegates conforme o modelo gera uma resposta
  4. Usar a resposta: Exiba os tokens em uma interface de chat, controle diálogos de NPC, gere conteúdo dinâmico ou alimente outros sistemas

Toda a inferência é executada em uma thread dedicada em segundo plano. Os callbacks (geração de token, conclusão, erros) são disparados na thread do jogo, permitindo que você atualize com segurança a interface do usuário e o estado do jogo a partir deles.

Armazenamento e Empacotamento de Modelos

Os modelos são armazenados como arquivos .gguf no diretório Content/RuntimeLocalLLM/Models do seu projeto. O plugin configura automaticamente Additional Non-Asset Directories To Copy (DirectoriesToAlwaysStageAsNonUFS) para que os arquivos de modelo sejam incluídos no seu projeto empacotado e permaneçam acessíveis via E/S de arquivo padrão em tempo de execução.

Cada modelo também possui um arquivo auxiliar .json que armazena seus metadados (nome de exibição, família, variante, descrição, contagem de parâmetros).

Modelos Suportados

O plugin funciona com qualquer modelo no formato GGUF. O editor oferece um catálogo de modelos populares pré-definidos para download com um clique, e você pode importar qualquer arquivo GGUF personalizado. As famílias de modelos comuns incluem:

  • Llama (Meta) — 1B, 3B, 8B e superiores
  • Mistral / Mixtral — 7B e superiores
  • Phi (Microsoft) — 2B, 3B, 4B
  • Gemma (Google) — 2B, 7B
  • Qwen (Alibaba) — 1.5B, 7B e superiores
  • TinyLlama — 1.1B
  • E muitos outros modelos da comunidade

Quantização

Os modelos vêm em vários níveis de quantização que equilibram qualidade, tamanho e velocidade:

QuantizaçãoQualidadeTamanhoVelocidade
Q2_KInferiorMenorMais rápido
Q4_K_MBoaMédioRápido
Q5_K_MMelhorMaiorModerado
Q8_0AltaGrandeMais lento
F16 / F32MáximaMaiorMais lento

Para dispositivos móveis e VR, recomenda-se quantizações menores (Q2_K a Q4_K_M) com modelos compactos (1B–3B parâmetros). Para desktop, você pode usar modelos maiores e níveis de quantização mais altos, dependendo da RAM disponível e dos recursos de CPU/GPU.

Recursos Adicionais

Join our Discord
online · support