[Site] [Paper] [Twitter]

Conseguir planejamento e controle do tipo humano com observações multimodais em um mundo aberto é um marco essencial para agentes generalistas mais funcionais. Introduzimos o Jarvis-1 , um agente de mundo aberto que pode perceber a entrada multimodal (observações visuais e instruções humanas), gerar planos sofisticados e executar controle incorporado, tudo dentro do universo minecraft de mundo aberto popular, mas desafiador. Especificamente, desenvolvemos o JARVIS-1 sobre os modelos de linguagem multimodal pré-treinados, que mapeiam observações visuais e instruções textuais para os planos. Os planos serão despachados para os controladores condicionados a metas. Nós montamos Jarvis-1 com uma memória multimodal, que facilita o planejamento usando o conhecimento pré-treinado e suas experiências reais de sobrevivência do jogo. O JARVIS-1 é o agente mais geral existente no Minecraft, capaz de concluir mais de 200 tarefas diferentes usando espaço de controle e observação semelhante aos seres humanos. Essas tarefas variam de tarefas de horizonte curto, por exemplo, "cortando árvores" a tarefas de longo horizonte, por exemplo, "obtendo uma picareta de diamante". O JARVIS-1 tem um desempenho excepcionalmente bem em tarefas de curto prazo, alcançando o desempenho quase perfeito. Na tarefa clássica de longo prazo de obtida dejuste, o Jarvis-1 supera a confiabilidade dos atuais agentes de última geração em 5 vezes e pode concluir com êxito tarefas mais longas e mais desafiadoras.
Listamos uma série de vídeos mostrando o Jarvis-1 tocando Minecraft. Você pode encontrar os vídeos em nossa página do projeto.
Este projeto destina -se a executar apenas no Linux. O suporte a outras plataformas não é fornecido.
Recomendamos o uso do Anaconda para gerenciar o ambiente. Se você não possui o Anaconda instalado, pode baixá -lo aqui.
conda create -n jarvis python=3.10
conda activate jarvis Certifique -se de ter o JDK 8 instalado. Se você não o tiver instalado, pode instalá -lo usando o seguinte comando:
conda install openjdk=8 Para verificar sua versão JDK, execute o comando java -version . Você deve ver uma mensagem semelhante à seguinte (os detalhes podem variar se você tiver instalado uma distribuição JDK diferente):
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) Depois de instalar as dependências necessárias, você pode executar o script prepare_mcp.py para criar o MCP-REBORN. Certifique -se de ter uma conexão estável à Internet antes de começar.
python prepare_mcp.pyEm seguida, você pode instalar o Jarvis-1 como um pacote Python.
pip install -e . Jarvis-1 depende dos pesos de Steve-i. Você pode baixar os pesos do script. Em seguida, você precisa definir o caminho dos pesos no arquivo jarvis/steveI/path.py .
Você precisa definir a variável de ambiente TMPDIR e OPENAI_API_KEY primeiro.
export TMPDIR=/tmp
export OPENAI_API_KEY= " sk-****** "Em seguida, você pode executar o seguinte comando para iniciar o agente Jarvis-1.
python open_jarvis.py --task iron_pickaxe --timeout 10Finalmente, você pode ver o agente Jarvis-1 jogando Minecraft na janela de painéis. Você também pode executar o seguinte comando para iniciar o agente Jarvis-1 no modo sem cabeça.
xfvb-run -a python open_jarvis.py --task iron_pickaxe --timeout 10python offline_evaluation.py
or
xvfb-run -a python offline_evaluation.pyself-check para um planejamento eficiente.assets/memory.json não está concluída. Removemos a sequência de state e action multimodal, que será lançada no futuro.multimodal descriptor e a multimodel retrieval ainda não foram lançados. Então você só pode experimentar o modelo de idioma parte do Jarvis-1 agora. multimodal descriptor para permitir que Jarvis-1 compreenda o mundo visual. Planejamos fazer upload da multimodal memory no HuggingFace. learning.py para permitir o auto-improviso Jarvis-1 com a memória crescente. Jarvis-1 é construído em vários projetos no Minecraft. Aqui estão alguns projetos relacionados nos quais você pode estar interessado:
Nosso artigo está disponível no Arxiv. Cite nosso artigo se achar o Jarvis-1 útil para sua pesquisa:
@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}
}