Utiliser MINDcraft avec Novita AI : Un guide complet

Utiliser MINDcraft avec Novita AI : Un guide complet

MINDcraft est un projet open source révolutionnaire qui intègre les grands modèles de langage (LLM) pour contrôler des bots dans Minecraft, offrant une nouvelle dimension d’interaction et de créativité dans le jeu. Il utilise la bibliothèque Mineflayer pour permettre à ces bots d’effectuer des tâches complexes en générant du code de haut niveau. Ce projet montre non seulement le potentiel de l’IA dans les jeux vidéo, mais repousse également les limites de ce qui peut être accompli avec les modèles de langage dans des environnements virtuels. Novita AI est recommandé comme l’un des fournisseurs d’API du projet.

Présentation du projet MINDcraft

À la base, MINDcraft est une application Node.js qui intègre des LLM pour guider les bots Minecraft dans l’exécution de diverses tâches. Le bot principal, nommé Andy, peut communiquer avec les joueurs et définir de manière autonome des objectifs, comme collecter des ressources ou construire des bâtiments. Cette capacité permet à Andy de jouer au jeu de manière indépendante, en s’adaptant continuellement et en fixant de nouveaux objectifs sans intervention humaine. L’architecture du projet permet à Andy d’exécuter efficacement les commandes et d’interagir de manière significative avec l’environnement du jeu.

https://www.youtube.com/embed/IeXadWbvDiE

Principales fonctionnalités

  • Intégration des modèles de langage : MINDcraft utilise les LLM pour générer du code qui dirige les actions du bot dans Minecraft. Cette intégration permet à Andy d’exécuter des tâches complexes en interprétant les instructions en langage naturel et en les traduisant en commandes de jeu exploitables.
  • Gameplay autonome : Andy peut définir indépendamment des objectifs et naviguer dans le monde du jeu, améliorant ainsi sa capacité à effectuer des tâches sans intervention directe du joueur. Cette autonomie permet à Andy d’explorer de nouvelles stratégies et d’adapter son comportement en fonction des retours de l’environnement.
  • Commandes paramétrées : Le projet intègre des commandes similaires à celles de Toolformer, permettant à Andy d’exécuter des tâches comme la collecte de ressources de manière plus fiable. Ces commandes paramétrées simplifient l’exécution des tâches en fournissant des actions prédéfinies qui peuvent être personnalisées selon les besoins.

Développement et mise en œuvre de MINDcraft

Développement

Inspiration et travaux initiaux

Le développement de MINDcraft a commencé après la publication d’un article notable sur Voyager, qui a introduit la bibliothèque Mineflayer pour créer des bots Minecraft en Node.js. Contrairement aux recherches précédentes sur l’IA qui utilisaient des entrées d’images et des sorties de bas niveau, Mineflayer permet aux systèmes d’IA d’interagir avec Minecraft en utilisant du code de haut niveau, simplifiant des tâches comme la navigation et l’acquisition de ressources sans nécessiter d’apprentissage par renforcement.

Utilisation des LLM pour le suivi d’instructions

Les LLM modernes excellent dans la génération de code et le suivi d’instructions, ce qui rend facile de conditionner un LLM pour générer du code Mineflayer basé sur des instructions humaines, menant à la création d’Andy. Des commandes paramétrées ont été implémentées pour améliorer la fiabilité d’Andy dans l’exécution de compétences courantes. Par exemple, Andy peut produire !collectBlocks("oak_log", 1) au lieu de générer un code complexe.

Améliorations et orientations futures

Au fil du temps, l’ensemble de commandes d’Andy a été étendu, et des comportements automatiques comme l’évitement des monstres agressifs ont été ajoutés. Récemment, Andy peut jouer à Minecraft de manière indépendante en définissant des objectifs en langage naturel (par exemple, « Collecte des matériaux pour construire une maison »). Les projets futurs incluent la réutilisation du code, la réflexion sur l’expérience, une meilleure conscience spatiale, des entrées visuelles et des interactions multi-agents.

Mise en œuvre

Mise en œuvre de MINDcraft

Classe Agent et boucle logique principale

La classe principale de MINDcraft est une classe Agent qui s’instancie chaque fois qu’Andy n’est pas connecté. La boucle logique principale dans handleMessage s’exécute lorsqu’un joueur envoie un message à Andy :

handleMessage(message):
    history.add(message)
    while true:
        hist = history.getHistory()
        response = prompter.promptConvo(hist)
        if containsCommand(response):
            cleanChat(response)
            history.add(response)
            result = executeCommand(this, response)
            history.add(result)
        else:
            cleanChat(response)
            history.add(response)
            break

Gestion des réponses et des commandes

Andy peut renvoyer une seule réponse conversationnelle ou appeler de manière itérative des commandes de requête ou d’action. Les requêtes fournissent des informations sur l’état du monde (par exemple, !inventory, !nearbyBlocks ), tandis que les actions provoquent des comportements dans le jeu (par exemple, !followPlayer(name) , !collectBlocks(block) ). Toutes les actions sont exécutées via la méthode execute dans la classe Coder.

Génération de code personnalisé

Pour des comportements complexes comme la construction, Andy peut écrire du code personnalisé en émettant la commande newAction pour entrer en mode codage. En utilisant la méthode generateCode de la classe Coder, Andy écrit du code JavaScript personnalisé avec accès à Mineflayer et à une bibliothèque de fonctions utiles. La méthode inclut une boucle pour plusieurs tentatives de débogage.

Rôle des exemples en contexte

Les exemples en contexte sont cruciaux pour la qualité des réponses d’Andy. Un modèle d’embedding trouve des exemples similaires à l’historique actuel et les ajoute au contexte du LLM, garantissant qu’Andy utilise correctement les commandes et interroge les informations avant d’effectuer les tâches.

Comment exécuter MINDcraft

Prérequis

  • Minecraft Java Edition (jusqu’à la v1.21.1, version recommandée v1.20.4)
  • Node.js installé (au moins v14)
  • L’un des éléments suivants : Clé API OpenAI | Clé API Gemini | Clé API Anthropic | Clé API Replicate | Clé API Hugging Face | Clé API Groq | Ollama installé | Clé API Qwen | Clé API Novita AI |

Installation et exécution

Assurez-vous d’avoir les prérequis ci-dessus.

  1. Clonez ou téléchargez ce dépôt (gros bouton vert)
  2. Renommez keys.example.json en keys.json et remplissez vos clés API (une seule suffit). Le modèle souhaité est défini dans andy.json ou d’autres profils. Pour les autres modèles, reportez-vous au tableau ci-dessous.
  3. Dans un terminal/invite de commandes, exécutez npm install depuis le répertoire d’installation
  4. Lancez un monde Minecraft et ouvrez-le en LAN sur le port localhost 55916
  5. Exécutez node main.js depuis le répertoire d’installation

Personnalisation

Vous pouvez configurer les détails du projet dans settings.js. Voir le fichier. Vous pouvez configurer le nom de l’agent, le modèle et les invites dans son profil, comme andy.json.

API Variable de configuration Exemple de nom de modèle
Novita AI NOVITA_API_KEY gryphe/mythomax-l2-13b

Comment obtenir la clé API Novita AI

Étape 1 : Allez sur novita.ai et connectez-vous

Vous pouvez vous connecter sur Novita AI avec Google ou GitHub, ce qui créera un nouveau compte lors de votre première connexion. Vous pouvez également vous inscrire avec votre adresse e-mail.

Étape 2 : Gérer la clé API LLM Novita AI

Novita AI sécurise l’accès API via une authentification Bearer en incluant une clé API dans l’en-tête de la requête, par exemple « Authorization: Bearer {API Key} ». Pour gérer vos clés, accédez à « Key Management » dans les paramètres. Une clé par défaut est générée automatiquement lors de votre première connexion. Vous pouvez créer des clés supplémentaires en cliquant sur « + Add New Key ».

page de gestion des clés Novita

Étape 3 : Recharger du crédit

Novita AI offre aux nouveaux utilisateurs un bon avec du crédit pour tester nos produits. Pour ajouter plus de crédit, veuillez visiter Facturation et paiements et suivre le guide sur les Méthodes de paiement.

Liens et ressources utiles

Conclusion

MINDcraft représente une avancée significative dans la recherche en IA au sein des environnements de jeu. En exploitant la puissance des LLM, il ouvre de nouvelles possibilités de créativité et d’interaction dans Minecraft. Alors que le projet continue d’évoluer, la participation et les retours de la communauté joueront un rôle crucial dans le façonnement de ses développements futurs. La nature open source du projet encourage la collaboration entre développeurs et chercheurs intéressés par l’exploration de l’intersection entre l’IA et les jeux.

Publié à l’origine sur Novita AI

Novita AI est une plateforme cloud IA qui offre aux développeurs un moyen simple de déployer des modèles d’IA via notre API simple, tout en fournissant un cloud GPU abordable et fiable pour construire et passer à l’échelle.