MINDcraft mit Novita AI verwenden: Ein umfassender Leitfaden

MINDcraft mit Novita AI verwenden: Ein umfassender Leitfaden

MINDcraft ist ein bahnbrechendes Open-Source-Projekt, das große Sprachmodelle (LLMs) integriert, um Minecraft-Bots zu steuern, und bietet eine neue Dimension der Interaktion und Kreativität im Spiel. Es nutzt die Mineflayer-Bibliothek, um diesen Bots zu ermöglichen, komplexe Aufgaben durch die Generierung von Code auf hohem Niveau auszuführen. Dieses Projekt zeigt nicht nur das Potenzial von KI im Gaming, sondern erweitert auch die Grenzen dessen, was mit Sprachmodellen in virtuellen Umgebungen erreicht werden kann. Novita AI wird als einer der API-Anbieter des Projekts empfohlen.

Projektübersicht von MINDcraft

Im Kern ist MINDcraft eine node.js-Anwendung, die LLMs integriert, um Minecraft-Bots bei der Ausführung verschiedener Aufgaben zu leiten. Der primäre Bot namens Andy kann mit Spielern kommunizieren und autonom Ziele setzen, wie das Sammeln von Ressourcen oder das Bauen von Gebäuden. Diese Fähigkeit ermöglicht es Andy, das Spiel unabhängig zu spielen, sich kontinuierlich anzupassen und ohne menschliches Eingreifen neue Ziele zu setzen. Die Architektur des Projekts ermöglicht es Andy, Befehle effizient auszuführen und auf sinnvolle Weise mit der Spielumgebung zu interagieren.

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

Hauptfunktionen

  • Integration von Sprachmodellen: MINDcraft verwendet LLMs, um Code zu generieren, der die Aktionen des Bots in Minecraft steuert. Diese Integration ermöglicht es Andy, komplexe Aufgaben effizient auszuführen, indem er natürliche Sprachbefehle interpretiert und in ausführbare Spielbefehle übersetzt.
  • Autonomes Gameplay: Andy kann unabhängig Ziele setzen und sich in der Spielwelt bewegen, was seine Fähigkeit verbessert, Aufgaben ohne direkte Spielereingabe auszuführen. Diese Autonomie erlaubt es Andy, neue Strategien zu erkunden und sein Verhalten basierend auf Umweltfeedback anzupassen.
  • Parametrisierte Befehle: Das Projekt enthält Befehle, die denen von Toolformer ähneln, und ermöglicht es Andy, Aufgaben wie das Sammeln von Ressourcen zuverlässiger auszuführen. Diese parametrisierten Befehle vereinfachen die Aufgabenausführung, indem sie vordefinierte Aktionen bereitstellen, die basierend auf spezifischen Anforderungen angepasst werden können.

MINDcraft Entwicklung und Implementierung

Entwicklung

Inspiration und erste Arbeit

Die Entwicklung von MINDcraft begann nach der Veröffentlichung eines bemerkenswerten Papers über Voyager, das die Mineflayer-Bibliothek für die Erstellung von Minecraft-Bots in Node.js vorstellte. Im Gegensatz zu früherer KI-Forschung, die Bildeingaben und Low-Level-Ausgaben verwendete, ermöglicht Mineflayer KI-Systemen, mit Minecraft mittels High-Level-Code zu interagieren, was Aufgaben wie Navigation und Ressourcenerwerb vereinfacht, ohne dass Verstärkungslernen erforderlich ist.

Nutzung von LLMs zur Befehlsausführung

Moderne LLMs zeichnen sich durch Codegenerierung und Befehlsausführung aus, was es einfach macht, ein LLM so zu konditionieren, dass es basierend auf menschlichen Anweisungen Mineflayer-Code generiert, was zur Erschaffung von Andy führte. Parametrisierte Befehle wurden implementiert, um Andys Zuverlässigkeit bei der Ausführung gängiger Fähigkeiten zu verbessern. Zum Beispiel kann Andy !collectBlocks("oak_log", 1) ausgeben, anstatt komplexen Code zu generieren.

Verbesserungen und zukünftige Richtungen

Im Laufe der Zeit wurde Andys Befehlssatz erweitert und automatische Verhaltensweisen wie das Ausweichen vor aggressiven Mobs wurden hinzugefügt. Seit kurzem kann Andy Minecraft unabhängig spielen, indem er natürlichsprachliche Ziele setzt (z.B. „Sammle Materialien, um ein Haus zu bauen"). Zukünftige Pläne umfassen Code-Wiederverwendung, Erfahrungsreflexion, verbesserte räumliche Wahrnehmung, visuelle Eingaben und Multi-Agent-Interaktionen.

Implementierung

Implementation of MINDcraft

Agent-Klasse und Hauptlogikschleife

Die Hauptklasse von MINDcraft ist eine Agent-Klasse, die immer dann instanziiert wird, wenn Andy nicht eingeloggt ist. Die Hauptlogikschleife in handleMessage wird ausgeführt, wenn ein Spieler eine Nachricht an Andy sendet:

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

Behandlung von Antworten und Befehlen

Andy kann eine einzelne Konversationsantwort zurückgeben oder iterativ Abfrage- oder Aktionsbefehle aufrufen. Abfragen liefern Informationen über den Weltzustand (z.B. !inventory, !nearbyBlocks), während Aktionen Verhalten im Spiel auslösen (z.B. !followPlayer(name), !collectBlocks(block)). Alle Aktionen werden mit der execute-Methode in der Coder-Klasse ausgeführt.

Benutzerdefinierte Codegenerierung

Für komplexe Verhaltensweisen wie das Bauen kann Andy benutzerdefinierten Code schreiben, indem er den Befehl newAction ausgibt, um in den Codierungsmodus zu wechseln. Mit der generateCode-Methode der Coder-Klasse schreibt Andy benutzerdefinierten JavaScript-Code mit Zugriff auf Mineflayer und eine Bibliothek nützlicher Funktionen. Die Methode enthält eine Schleife für mehrere Debugging-Versuche.

Rolle von In-Context-Beispielen

In-Context-Beispiele sind entscheidend für die Qualität von Andys Antworten. Ein Einbettungsmodell findet ähnliche Beispiele zur aktuellen Historie und fügt sie dem LLM-Kontext hinzu, um sicherzustellen, dass Andy Befehle korrekt verwendet und Informationen abfragt, bevor er Aufgaben abschließt.

So führen Sie MINDcraft aus

Voraussetzungen

  • Minecraft Java Edition (bis zu v1.21.1, empfohlen v1.20.4)
  • Node.js installiert (mindestens v14)
  • Einer dieser API-Schlüssel: OpenAI API Key | Gemini API Key | Anthropic API Key | Replicate API Key | Hugging Face API Key | Groq API Key | Ollama installiert. | Qwen API Key | Novita AI API Key |

Installieren und Ausführen

Stellen Sie sicher, dass Sie die oben genannten Voraussetzungen erfüllen.

  1. Klonen oder herunterladen Sie dieses Repository (großer grüner Button)
  2. Benennen Sie keys.example.json in keys.json um und füllen Sie Ihre API-Schlüssel aus (Sie benötigen nur einen). Das gewünschte Modell wird in andy.json oder anderen Profilen festgelegt. Für andere Modelle siehe die Tabelle unten.
  3. Führen Sie im Terminal/Eingabeaufforderung npm install aus dem installierten Verzeichnis aus.
  4. Starten Sie eine Minecraft-Welt und öffnen Sie sie im LAN auf localhost Port 55916.
  5. Führen Sie node main.js aus dem installierten Verzeichnis aus.

Anpassung

Sie können Projektdetails in settings.js konfigurieren. Siehe Datei. Sie können den Namen, das Modell und die Prompts des Agents in seinem Profil wie andy.json konfigurieren.

API Konfigurationsvariable Beispielmodellname
Novita AI NOVITA_API_KEY gryphe/mythomax-l2-13b

So erhalten Sie den Novita AI API-Schlüssel

Schritt 1: Gehen Sie zu novita.ai und melden Sie sich an

Sie können sich bei Novita AI mit Google oder GitHub anmelden, wodurch beim ersten Login ein neues Konto erstellt wird. Alternativ können Sie sich mit Ihrer E-Mail-Adresse registrieren.

Schritt 2: Verwalten Sie den Novita AI LLM API-Schlüssel

Novita AI sichert den API-Zugriff durch Bearer-Authentifizierung, indem ein API-Schlüssel im Request-Header mitgesendet wird, z.B. „Authorization: Bearer {API Key}“. Um Ihre Schlüssel zu verwalten, navigieren Sie zu „Key Management” in den Einstellungen. Ein Standardschlüssel wird bei Ihrem ersten Login automatisch generiert. Sie können zusätzliche Schlüssel erstellen, indem Sie auf „+ Add New Key" klicken.

novita key management page

Schritt 3: Guthaben aufladen

Novita AI bietet neuen Benutzern einen Gutschein mit etwas Guthaben, um unsere Produkte auszuprobieren. Um weiteres Guthaben hinzuzufügen, besuchen Sie bitte Billing and Payments und folgen Sie der Anleitung zu Payment Methods.

Fazit

MINDcraft stellt einen bedeutenden Fortschritt in der KI-Forschung in Spielumgebungen dar. Durch die Nutzung der Leistungsfähigkeit von LLMs eröffnet es neue Möglichkeiten für Kreativität und Interaktion in Minecraft. Während sich das Projekt weiterentwickelt, werden die Beteiligung und das Feedback der Community eine entscheidende Rolle bei der Gestaltung seiner zukünftigen Entwicklungen spielen. Der Open-Source-Charakter des Projekts fördert die Zusammenarbeit zwischen Entwicklern und Forschern, die sich für die Schnittstelle von KI und Gaming interessieren.

Ursprünglich veröffentlicht bei Novita AI

Novita AI ist eine KI-Cloud-Plattform, die Entwicklern eine einfache Möglichkeit bietet, KI-Modelle mit unserer einfachen API bereitzustellen, während sie gleichzeitig die erschwingliche und zuverlässige GPU-Cloud für das Erstellen und Skalieren bereitstellt.