[Sitio web] [documento] [Twitter]

Lograr la planificación y el control de los humanos con observaciones multimodales en un mundo abierto es un hito clave para los agentes generalistas más funcionales. Introducimos a Jarvis-1 , un agente del mundo abierto que puede percibir la entrada multimodal (observaciones visuales e instrucciones humanas), generar planes sofisticados y realizar un control encarnado, todo dentro del popular pero desafiante universo Minecraft del mundo abierto. Específicamente, desarrollamos Jarvis-1 sobre los modelos de lenguaje multimodal previamente capacitados, que mapean las observaciones visuales y las instrucciones textuales a los planos. Los planes se enviarán en última instancia a los controladores acondicionados por el objetivo. Equipamos Jarvis-1 con una memoria multimodal, que facilita la planificación del uso tanto de conocimiento previamente capacitado como sus experiencias reales de supervivencia del juego. Jarvis-1 es el agente más general existente en Minecraft, capaz de completar más de 200 tareas diferentes utilizando espacio de control y observación similar a los humanos. Estas tareas van desde tareas de horizonte corto, por ejemplo, "cortes de árboles" hasta tareas de horizonte largo, por ejemplo, "obteniendo un pico de diamantes". Jarvis-1 funciona excepcionalmente bien en tareas de horario corto, logrando un rendimiento casi perfecto. En la tarea clásica a largo plazo de ObtAndiamondPickaxe, Jarvis-1 supera la confiabilidad de los agentes de última generación actuales por 5 veces y puede completar con éxito el horizonte más largo y las tareas más desafiantes.
Enumeramos una serie de videos que muestran a Jarvis-1 jugando a Minecraft. Puede encontrar los videos en nuestra página del proyecto.
Este proyecto está destinado a ejecutarse solo en Linux. No se proporciona soporte para otras plataformas.
Recomendamos usar Anaconda para administrar el medio ambiente. Si no tiene instalado Anaconda, puede descargarlo desde aquí.
conda create -n jarvis python=3.10
conda activate jarvis Asegúrese de tener JDK 8 instalado. Si no lo tiene instalado, puede instalarlo utilizando el siguiente comando:
conda install openjdk=8 Para verificar su versión JDK, ejecute el comando java -version . Debería ver un mensaje similar al siguiente (los detalles pueden variar si ha instalado una distribución 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) Una vez que haya instalado las dependencias requeridas, puede ejecutar el script prepare_mcp.py para construir MCP-Reborn. Asegúrese de tener una conexión a Internet estable antes de comenzar.
python prepare_mcp.pyLuego puede instalar Jarvis-1 como un paquete Python.
pip install -e . Jarvis-1 se basa en los pesos de Steve-I. Puede descargar los pesos del script. Luego debe establecer la ruta de pesas en el archivo jarvis/steveI/path.py .
Debe establecer la variable de entorno TMPDIR y OPENAI_API_KEY primero.
export TMPDIR=/tmp
export OPENAI_API_KEY= " sk-****** "Luego puede ejecutar el siguiente comando para iniciar el agente Jarvis-1.
python open_jarvis.py --task iron_pickaxe --timeout 10Finalmente, puede ver al agente Jarvis-1 jugando a Minecraft en la ventana empotrada. También puede ejecutar el siguiente comando para iniciar el agente Jarvis-1 en el modo sin cabeza.
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 una planificación eficiente.assets/memory.json no está completa. Eliminamos el state multimodal y la secuencia action , que se lanzará en el futuro.multimodal descriptor y la multimodel retrieval aún no se liberan. Por lo tanto, solo puede experimentar la parte del modelo de idioma de Jarvis-1 ahora. multimodal descriptor para permitir que Jarvis-1 comprenda el mundo visual. Planeamos cargar la multimodal memory en Huggingface. learning.py para permitir que el autoinforme Jarvis-1 con la memoria de crecimiento. Jarvis-1 se basa en varios proyectos en Minecraft. Aquí hay algunos proyectos relacionados en los que le interesan:
Nuestro papel está disponible en ARXIV. Por favor, cite nuestro documento si encuentra útil Jarvis-1 para su investigación:
@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}
}