[เว็บไซต์] [กระดาษ] [Twitter]

การบรรลุการวางแผนและการควบคุมของมนุษย์ด้วยการสังเกตแบบหลายรูปแบบในโลกเปิดเป็นเหตุการณ์สำคัญที่สำคัญสำหรับตัวแทนทั่วไปที่ใช้งานได้มากขึ้น เราแนะนำ JARVIS-1 ซึ่งเป็นเอเจนต์แบบเปิดโล่งที่สามารถรับรู้อินพุตหลายรูปแบบ (การสังเกตด้วยภาพและคำแนะนำของมนุษย์) สร้างแผนการที่ซับซ้อนและดำเนินการควบคุมที่เป็นตัวเป็นตนทั้งหมดภายในจักรวาล Minecraft ที่ได้รับความนิยม โดยเฉพาะเราพัฒนา JARVIS-1 บนแบบจำลองภาษาหลายรูปแบบที่ผ่านการฝึกอบรมมาก่อนซึ่งทำแผนที่การสังเกตภาพและคำแนะนำที่เป็นข้อความตามแผน ในที่สุดแผนจะถูกส่งไปยังคอนโทรลเลอร์ปรับอากาศ เราแต่งกาย Jarvis-1 ด้วยหน่วยความจำหลายรูปแบบซึ่งอำนวยความสะดวกในการวางแผนโดยใช้ทั้งความรู้ที่ผ่านการฝึกอบรมมาก่อนและประสบการณ์การอยู่รอดของเกมที่แท้จริง JARVIS-1 เป็นตัวแทนทั่วไปส่วนใหญ่ที่มีอยู่ใน Minecraft สามารถทำงานได้มากกว่า 200 งานที่แตกต่างกันโดยใช้พื้นที่ควบคุมและการสังเกตคล้ายกับมนุษย์ งานเหล่านี้มีตั้งแต่งานระยะสั้นเช่น "การสับต้นไม้" ไปจนถึงงานที่มีความยาว-เช่น "การได้รับเพลาเพลามอนด์" JARVIS-1 ทำงานได้ดีเป็นพิเศษในงานระยะสั้นเพื่อให้ได้ประสิทธิภาพที่สมบูรณ์แบบเกือบ ในภารกิจระยะยาวแบบคลาสสิกของการได้รับ Diamondpickaxe, JARVIS-1 เกินความน่าเชื่อถือของตัวแทนที่ทันสมัยในปัจจุบัน 5 ครั้งและสามารถทำงานได้นานขึ้นและทำงานที่ท้าทายมากขึ้น
เราแสดงรายการวิดีโอที่แสดง JARVIS-1 เล่น Minecraft คุณสามารถค้นหาวิดีโอในหน้าโครงการของเรา
โครงการนี้มีไว้สำหรับการทำงานบน Linux เท่านั้น ไม่ได้ให้การสนับสนุนแพลตฟอร์มอื่น ๆ
เราขอแนะนำให้ใช้ Anaconda เพื่อจัดการสภาพแวดล้อม หากคุณไม่ได้ติดตั้ง Anaconda คุณสามารถดาวน์โหลดได้จากที่นี่
conda create -n jarvis python=3.10
conda activate jarvis ตรวจสอบให้แน่ใจว่าคุณติดตั้ง JDK 8 แล้ว หากคุณไม่ได้ติดตั้งคุณสามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้:
conda install openjdk=8 หากต้องการตรวจสอบเวอร์ชัน JDK ของคุณให้เรียกใช้คำสั่ง java -version คุณควรเห็นข้อความที่คล้ายกับต่อไปนี้ (รายละเอียดอาจแตกต่างกันหากคุณติดตั้งการแจกแจง JDK อื่น):
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) เมื่อคุณติดตั้งการพึ่งพาที่ต้องการแล้วคุณสามารถเรียกใช้สคริปต์ prepare_mcp.py เพื่อสร้าง MCP-Reborn ตรวจสอบให้แน่ใจว่าคุณมีการเชื่อมต่ออินเทอร์เน็ตที่เสถียรก่อนเริ่ม
python prepare_mcp.pyจากนั้นคุณสามารถติดตั้ง JARVIS-1 เป็นแพ็คเกจ Python
pip install -e . JARVIS-1 ขึ้นอยู่กับน้ำหนักของ Steve-I คุณสามารถดาวน์โหลดน้ำหนักจากสคริปต์ จากนั้นคุณต้องตั้งค่าเส้นทางน้ำหนักในไฟล์ jarvis/steveI/path.py
คุณต้องตั้งค่าตัวแปรสภาพแวดล้อม TMPDIR และ OPENAI_API_KEY ก่อน
export TMPDIR=/tmp
export OPENAI_API_KEY= " sk-****** "จากนั้นคุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มต้นตัวแทน JARVIS-1
python open_jarvis.py --task iron_pickaxe --timeout 10ในที่สุดคุณสามารถเห็นตัวแทน JARVIS-1 ที่เล่น Minecraft ในหน้าต่างที่ปรากฏ นอกจากนี้คุณยังสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มต้นตัวแทน JARVIS-1 ในโหมด Headless
xfvb-run -a python open_jarvis.py --task iron_pickaxe --timeout 10python offline_evaluation.py
or
xvfb-run -a python offline_evaluation.pyself-check เพื่อการวางแผนที่มีประสิทธิภาพassets/memory.json ยังไม่สมบูรณ์ เราลบ state หลายรูปแบบและลำดับ action ซึ่งจะเปิดตัวในอนาคตmultimodal descriptor และ multimodel retrieval ยังไม่ได้เปิดตัว ดังนั้นคุณจะได้สัมผัสกับรูปแบบภาษาของ JARVIS-1 เท่านั้น multimodal descriptor เพื่อให้ Jarvis-1 เข้าใจโลกภาพ เราวางแผนที่จะอัปโหลด multimodal memory ใน HuggingFace learning.py เพื่อให้การปรับปรุงตัวเอง JARVIS-1 ด้วยความทรงจำที่เพิ่มขึ้น JARVIS-1 ถูกสร้างขึ้นในหลายโครงการใน Minecraft นี่คือบางโครงการที่เกี่ยวข้องที่คุณอาจสนใจ:
กระดาษของเรามีอยู่ใน arxiv โปรดอ้างอิงกระดาษของเราหากคุณพบว่า JARVIS-1 มีประโยชน์สำหรับการวิจัยของคุณ:
@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}
}