[Site Web] [Paper] [Twitter]

La réalisation de la planification et le contrôle de type humain avec des observations multimodales dans un monde ouvert est une étape clé pour les agents généralistes plus fonctionnels. Nous présentons Jarvis-1 , un agent en monde ouvert qui peut percevoir l'entrée multimodale (observations visuelles et instructions humaines), générer des plans sophistiqués et effectuer un contrôle incarné, le tout dans l'univers minecraft du monde ouvert populaire mais difficile. Plus précisément, nous développons Jarvis-1 au-dessus des modèles de langage multimodal pré-formé, qui cartographient les observations visuelles et les instructions textuelles aux plans. Les plans seront finalement envoyés aux contrôleurs conditionnés par le but. Nous équivaut à Jarvis-1 avec une mémoire multimodale, ce qui facilite la planification en utilisant à la fois des connaissances pré-formées et ses expériences réelles de survie du jeu. Jarvis-1 est l'agent le plus général existant de Minecraft, capable de accomplir plus de 200 tâches différentes en utilisant un espace de contrôle et d'observation similaire aux humains. Ces tâches vont des tâches en horizon court, par exemple, des "hachés des arbres" aux tâches longs-horizon, par exemple, "obtenant une pioche en diamant". Jarvis-1 fonctionne exceptionnellement bien dans les tâches en horizon court, réalisant des performances presque parfaites. Dans la tâche classique à long terme d'obtenirdiamondPickaxe, Jarvis-1 dépasse la fiabilité des agents actuels de pointe de la technologie et peut accomplir avec succès des tâches à horizon plus long et plus difficiles.
Nous énumérons une série de vidéos montrant Jarvis-1 jouant à Minecraft. Vous pouvez trouver les vidéos sur notre page de projet.
Ce projet est destiné à fonctionner uniquement sur Linux. La prise en charge d'autres plateformes n'est pas fournie.
Nous vous recommandons d'utiliser Anaconda pour gérer l'environnement. Si vous n'avez pas installé Anaconda, vous pouvez le télécharger à partir d'ici.
conda create -n jarvis python=3.10
conda activate jarvis Assurez-vous que JDK 8 a installé. Si vous ne l'avez pas installé, vous pouvez l'installer en utilisant la commande suivante:
conda install openjdk=8 Pour vérifier votre version JDK, exécutez la commande java -version . Vous devriez voir un message similaire à ce qui suit (les détails peuvent varier si vous avez installé une distribution JDK différente):
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) Une fois que vous avez installé les dépendances requises, vous pouvez exécuter le script prepare_mcp.py pour créer MCP-Rebor. Assurez-vous d'avoir une connexion Internet stable avant de commencer.
python prepare_mcp.pyEnsuite, vous pouvez installer Jarvis-1 en tant que package Python.
pip install -e . Jarvis-1 repose sur les poids de Steve-I. Vous pouvez télécharger les poids à partir du script. Ensuite, vous devez définir le chemin de poids dans le fichier jarvis/steveI/path.py
Vous devez d'abord définir la variable d'environnement TMPDIR et OPENAI_API_KEY .
export TMPDIR=/tmp
export OPENAI_API_KEY= " sk-****** "Ensuite, vous pouvez exécuter la commande suivante pour démarrer l'agent Jarvis-1.
python open_jarvis.py --task iron_pickaxe --timeout 10Enfin, vous pouvez voir l'agent Jarvis-1 jouer à Minecraft dans la fenêtre affichée. Vous pouvez également exécuter la commande suivante pour démarrer l'agent Jarvis-1 en mode sans tête.
xfvb-run -a python open_jarvis.py --task iron_pickaxe --timeout 10python offline_evaluation.py
or
xvfb-run -a python offline_evaluation.pyself-check pour une planification efficace.assets/memory.json le fichier n'est pas terminée. Nous supprimons l' state multimodal et la séquence action , qui sera publié à l'avenir.multimodal descriptor et la multimodel retrieval ne sont pas encore publiés. Vous ne pouvez donc expérimenter que le modèle linguistique de Jarvis-1 maintenant. multimodal descriptor pour permettre à Jarvis-1 de comprendre le monde visuel. Nous prévoyons de télécharger la multimodal memory sur HuggingFace. learning.py pour permettre à Jarvis-1 d'auto-amélioration avec de la mémoire croissante. Jarvis-1 est construit sur plusieurs projets de Minecraft. Voici quelques projets connexes qui pourraient vous intéresser:
Notre article est disponible sur Arxiv. Veuillez citer notre article si vous trouvez Jarvis-1 utile pour vos recherches:
@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}
}