[Website] [Papier] [Twitter]

Das Erreichen von menschlicher Planung und Kontrolle mit multimodalen Beobachtungen in einer offenen Welt ist ein wichtiger Meilenstein für funktionalere Generalisten. Wir stellen Jarvis-1 vor, einen Open-World-Agenten, der multimodale Eingaben (visuelle Beobachtungen und menschliche Anweisungen) wahrnehmen, anspruchsvolle Pläne erzeugen und eine verkörperte Kontrolle durchführen kann, die alle innerhalb des beliebten, aber herausfordernden Open-World-Minecraft-Universums eine verkörperte Kontrolle durchführen. Insbesondere entwickeln wir JARVIS-1 über vorgebliebene multimodale Sprachmodelle, die visuelle Beobachtungen und Textanweisungen für Pläne zuordnen. Die Pläne werden letztendlich an die zielgerichteten Controller gesendet. Wir setzen Jarvis-1 mit einem multimodalen Gedächtnis aus, das die Planung sowohl mit vorgebildetem Wissen als auch seinen tatsächlichen Spielerlebnissen ermöglicht. Jarvis-1 ist der bestehende Generalagent in Minecraft, der über 200 verschiedene Aufgaben unter Verwendung des Kontroll- und Beobachtungsraums ähnlich dem Menschen erledigen kann. Diese Aufgaben reichen von Kurzhorizont-Aufgaben, z. B. "Bäume" bis hin zu Langhorizonaufgaben, z. Jarvis-1 funktioniert in Kurzhorizont-Aufgaben außergewöhnlich gut und erreicht eine nahezu perfekte Leistung. In der klassischen langfristigen Aufgabe von OutDiamondpickaxe übertrifft Jarvis-1 die Zuverlässigkeit der aktuellen hochmodernen Agenten um das 5-fache und kann längere Horizont und anspruchsvollere Aufgaben erfolgreich erledigen.
Wir listen eine Reihe von Videos auf, in denen Jarvis-1 Minecraft spielt. Sie finden die Videos auf unserer Projektseite.
Dieses Projekt dürfte nur auf Linux ausgeführt werden. Unterstützung für andere Plattformen wird nicht bereitgestellt.
Wir empfehlen, Anaconda zur Verwaltung der Umgebung zu verwenden. Wenn Sie Anaconda nicht installieren lassen, können Sie es von hier herunterladen.
conda create -n jarvis python=3.10
conda activate jarvis Stellen Sie sicher, dass JDK 8 installiert ist. Wenn Sie es nicht installieren lassen, können Sie es mit dem folgenden Befehl installieren:
conda install openjdk=8 Um Ihre JDK -Version zu überprüfen, führen Sie den Befehl java -version aus. Sie sollten eine ähnliche Nachricht wie die folgenden Angaben sehen (Details können variieren, wenn Sie eine andere JDK -Verteilung installiert haben):
openjdk version " 1.8.0_392 "
OpenJDK Runtime Environment (build 1.8.0_392-8u392-ga-1~20.04-b08)
OpenJDK 64-Bit Server VM (build 25.392-b08, mixed mode) Sobald Sie die erforderlichen Abhängigkeiten installiert haben, können Sie das Skript prepare_mcp.py ausführen, um MCP-reborn zu erstellen. Stellen Sie sicher, dass Sie eine stabile Internetverbindung haben, bevor Sie beginnen.
python prepare_mcp.pyDann können Sie Jarvis-1 als Python-Paket installieren.
pip install -e . Jarvis-1 beruht auf den Gewichten von Steve-I. Sie können die Gewichte aus dem Skript herunterladen. Dann müssen Sie den Gewichtspfad in der Datei jarvis/steveI/path.py einstellen.
Sie müssen zuerst die Umgebungsvariable TMPDIR und OPENAI_API_KEY festlegen.
export TMPDIR=/tmp
export OPENAI_API_KEY= " sk-****** "Dann können Sie den folgenden Befehl ausführen, um den JARVIS-1-Agenten zu starten.
python open_jarvis.py --task iron_pickaxe --timeout 10Schließlich können Sie den Jarvis-1-Agenten sehen, der Minecraft im Poped-Fenster spielt. Sie können auch den folgenden Befehl ausführen, um den JARVIS-1-Agenten im kopflosen Modus zu starten.
xfvb-run -a python open_jarvis.py --task iron_pickaxe --timeout 10python offline_evaluation.py
or
xvfb-run -a python offline_evaluation.pyself-check für eine effiziente Planung.assets/memory.json -Datei ist nicht abgeschlossen. Wir entfernen den multimodalen state und action , die in Zukunft veröffentlicht werden.multimodal descriptor und das multimodel retrieval werden noch nicht veröffentlicht. So können Sie jetzt nur das Sprachmodell Teil von Jarvis-1 erleben. multimodal descriptor , damit Jarvis-1 die visuelle Welt verstehen kann. Wir planen, den multimodal memory auf das Umarmungsface hochzuladen. learning.py , um selbstverbesserte Jarvis-1 mit wachsendem Gedächtnis zu ermöglichen. Jarvis-1 basiert auf mehreren Projekten in Minecraft. Hier sind einige verwandte Projekte, an denen Sie interessiert sein könnten:
Unser Papier ist auf Arxiv erhältlich. Bitte zitieren Sie unser Papier, wenn Sie Jarvis-1 für Ihre Forschung nützlich finden:
@article{wang2023jarvis1,
title = {JARVIS-1: Open-World Multi-task Agents with Memory-Augmented Multimodal Language Models},
author = {Zihao Wang and Shaofei Cai and Anji Liu and Yonggang Jin and Jinbing Hou and Bowei Zhang and Haowei Lin and Zhaofeng He and Zilong Zheng and Yaodong Yang and Xiaojian Ma and Yitao Liang},
year = {2023},
journal = {arXiv preprint arXiv: 2311.05997}
}