[موقع ويب] [ورقة] [Twitter]

يعد تحقيق التخطيط والسيطرة على الإنسان مع الملاحظات المتعددة الوسائط في عالم مفتوح علامة فارقة للعوامل العامة الأكثر وظيفية. نقدم Jarvis-1 ، وكيل العالم المفتوح الذي يمكن أن يرى المدخلات متعددة الوسائط (الملاحظات المرئية والتعليمات البشرية) ، وننشئ خططًا متطورة ، وأداء التحكم المجسد ، كل ذلك ضمن عالم Minecraft الشهير الذي يشتهر في العالم المفتوح. على وجه التحديد ، نقوم بتطوير Jarvis-1 على رأس نماذج اللغة متعددة الوسائط التي تم تدريبها مسبقًا ، والتي تخطط للملاحظات المرئية والتعليمات النصية للخطط. سيتم إرسال الخطط في النهاية إلى وحدات التحكم المكيفة. نحن نتجه Jarvis-1 بذاكرة متعددة الوسائط ، مما يسهل التخطيط باستخدام كل من المعرفة المسبقة قبل التدريب وتجارب البقاء على قيد الحياة في اللعبة. Jarvis-1 هو الوكيل الأكثر عمومية في Minecraft ، قادر على إكمال أكثر من 200 مهمة مختلفة باستخدام مساحة التحكم والمراقبة مماثلة للبشر. تتراوح هذه المهام من مهام الأفق القصيرة ، على سبيل المثال ، "تقطيع الأشجار" إلى مهام الأفق الطويلة ، على سبيل المثال ، "الحصول على بيكاكس الماس". يؤدي Jarvis-1 أداءً جيدًا بشكل استثنائي في مهام الأفق القصير ، ويحقق أداءً مثاليًا تقريبًا. في المهمة الكلاسيكية طويلة الأجل المتمثلة في الحصول على Diamondpickaxe ، يتجاوز Jarvis-1 موثوقية الوكلاء الحاليين بمقدار 5 مرات ويمكنه إكمال الأفق الطويل والمهام الأكثر تحديا.
ندرج سلسلة من مقاطع الفيديو التي توضح Jarvis-1 تشغيل Minecraft. يمكنك العثور على مقاطع الفيديو على صفحة مشروعنا.
هذا المشروع مخصص للتشغيل على Linux فقط. لم يتم توفير دعم للمنصات الأخرى.
نوصي باستخدام 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 في الوضع بدون رأس.
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 لتمكين تحسين ذاتيا جارفيس -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}
}