Aller au contenu principal

Aperçu

Runtime Local LLM Documentation

Runtime Local LLM est un plugin qui exécute des grands modèles de langage entièrement sur l'appareil en utilisant llama.cpp, sans nécessiter de connexion internet au moment de l'exécution. Il prend en charge les fichiers de modèle GGUF et fournit une API Blueprint complète pour charger des modèles, envoyer des messages et recevoir des réponses token par token, le tout sur un thread d'arrière-plan avec des rappels sur le thread de jeu.

Le plugin prend en charge Windows, Mac, Linux, Android (y compris Meta Quest et autres plateformes basées sur Android), et iOS.

Fonctionnalités principales

  • Inférence complète hors ligne : Aucun service cloud ni clé API nécessaire à l'exécution
  • Prise en charge des modèles GGUF : Chargez n'importe quel modèle au format GGUF (Llama, Mistral, Phi, Gemma, Qwen, etc.)
  • llama.cpp à jour : Mis à jour régulièrement sur Fab pour suivre les versions de llama.cpp, garantissant ainsi la prise en charge des derniers formats de modèles GGUF
  • Accélération GPU : Utilise Vulkan sur Windows et Linux, Metal sur Mac et iOS, et CPU + intrinsics sur Android et Meta Quest
  • Plusieurs méthodes de chargement de modèles :
    • Charger depuis un chemin de fichier local
    • Charger par nom de modèle (sélection par liste déroulante dans les Blueprints)
    • Télécharger depuis une URL et charger automatiquement
    • Téléchargement uniquement pour la mise en cache préalable des modèles
  • Diffusion token par token : Recevez chaque token au fur et à mesure de sa génération pour un affichage en temps réel
  • Nœuds Blueprint asynchrones : Nœuds avec délégués de sortie pour le chargement, l'envoi de messages et le téléchargement
  • Paramètres d'inférence configurables : Température, Top-P, Top-K, pénalité de répétition, déchargement des couches GPU, taille du contexte, seed, nombre de threads et prompt système
  • Gestion des conversations : Conversations multi-tours avec réinitialisation du contexte, sauvegarde/chargement sur disque, instantanés en mémoire et résumé automatique pour les discussions longues
  • Gestionnaire de modèles dans l'éditeur : Parcourez, téléchargez, importez, supprimez et testez les modèles directement dans les paramètres du projet
  • Packaging multiplateforme : Les modèles sont livrés avec votre projet via le staging NonUFS

Comment ça marche

  1. Gérer les modèles dans l'éditeur : Utilisez le panneau des paramètres du plugin pour parcourir un catalogue de modèles prédéfinis, les télécharger ou importer vos propres fichiers GGUF
  2. Charger un modèle à l'exécution : Appelez l'une des fonctions de chargement (par fichier, par nom, par URL ou par métadonnées) avec vos paramètres d'inférence
  3. Envoyer des messages : Transmettez un message utilisateur à l'instance LLM ; les tokens sont diffusés via des délégués au fur et à mesure que le modèle génère une réponse
  4. Utiliser la réponse : Affichez les tokens dans une interface de chat, pilotez les dialogues des PNJ, générez du contenu dynamique ou alimentez d'autres systèmes

Toute l'inférence s'exécute sur un thread d'arrière-plan dédié. Les callbacks (génération de tokens, achèvement, erreurs) se déclenchent sur le thread du jeu, vous pouvez donc mettre à jour en toute sécurité l'interface utilisateur et l'état du jeu à partir de ceux-ci.

Cas d'utilisation courants

  • Chatbots et assistants en jeu : Questions-réponses, systèmes d'aide, tutoriels dynamiques
  • Dialogues de PNJ : PNJ conversationnels avec mémoire persistante par personnage utilisant des instantanés de conversation
  • Systèmes de jeu de rôle et narratifs de longue durée : La synthèse automatique maintient les conversations de plusieurs heures dans les limites de contexte sans perdre les faits clés
  • Contenu procédural : Générer des descriptions de quêtes, des récits d'objets, des arbres de dialogue à la volée
  • Applications hors ligne : Tout ce qui nécessite des capacités LLM sans connexion réseau

Stockage et conditionnement du modèle

Les modèles sont stockés sous forme de fichiers .gguf dans le répertoire Content/RuntimeLocalLLM/Models de votre projet. Le plugin configure automatiquement les Répertoires supplémentaires non liés aux ressources à copier (DirectoriesToAlwaysStageAsNonUFS) afin que les fichiers de modèle soient livrés avec votre projet packagé et restent accessibles via les entrées/sorties de fichiers standard au moment de l'exécution.

Chaque modèle possède également un fichier .json associé qui stocke ses métadonnées (nom d'affichage, famille, variante, description, nombre de paramètres).

Modèles pris en charge

Le plugin fonctionne avec n'importe quel modèle au format GGUF. L'éditeur fournit un catalogue de modèles prédéfinis populaires pour un téléchargement en un clic, et vous pouvez importer n'importe quel fichier GGUF personnalisé. Les familles de modèles courantes incluent :

  • Llama (Meta) — 1B, 3B, 8B et plus
  • Mistral / Mixtral — 7B et plus
  • Phi (Microsoft) — 2B, 3B, 4B
  • Gemma (Google) — 2B, 7B
  • Qwen (Alibaba) — 1,5B, 7B et plus
  • TinyLlama — 1,1B
  • Et bien d'autres modèles de la communauté

Quantification

Les modèles sont disponibles en différents niveaux de quantification qui font un compromis entre la qualité, la taille et la vitesse.

QuantificationQualitéSizeVitesse
Q2_KPlus basLe plus petitLe plus rapide
Q4_K_MGoodMoyenFast
Q5_K_MMieuxPlus grandModéré
Q8_0HighLargePlus lent
F16 / F32Le plus élevéLe plus grandLe plus lent

Pour les appareils mobiles et VR, des quantifications plus petites (Q2_K à Q4_K_M) avec des modèles compacts (1B–3B paramètres) sont recommandées. Pour un ordinateur de bureau, vous pouvez utiliser des modèles plus grands et des niveaux de quantification plus élevés en fonction de la RAM disponible et des ressources CPU/GPU.

Ressources supplémentaires

Join our Discord
online · support