يحتوي هذا الريبو على الكود والعروض التوضيحية وملفات السجل reflexion : وكلاء اللغة مع تعلم التعزيز اللفظي بقلم نوح شين، فيديريكو كاسانو، إدوارد بيرمان، أشوين جوبيناث، كارثيك ناراسيمهان، شونيو ياو.
مخطط RL الانعكاسي" style="max-width: 100%;">
مهام الانعكاس" style="max-width: 100%;">
لقد أصدرنا LeetcodeHardGym هنا
لقد قدمنا مجموعة من دفاتر الملاحظات لتشغيل نتائج تجارب الاستدلال واستكشافها والتفاعل معها بسهولة. تتكون كل تجربة من عينة عشوائية مكونة من 100 سؤال من مجموعة بيانات عوامل تشتيت الانتباه HotPotQA. تتم محاولة كل سؤال في العينة بواسطة وكيل لديه نوع محدد واستراتيجية reflexion .
للبدء:
git clone https://github.com/noahshinn/reflexion && cd ./hotpotqa_runs
pip install -r requirements.txt
OPENAI_API_KEY
على مفتاح OpenAI API الخاص بك: export OPENAI_API_KEY= < your key >
يتم تحديد نوع الوكيل بواسطة دفتر الملاحظات الذي تختار تشغيله. تشمل أنواع الوكلاء المتاحة ما يلي:
ReAct
- وكيل رد الفعل
CoT_context
- وكيل CoT الذي يقدم سياقًا داعمًا حول السؤال
CoT_no_context
- لا يوجد لدى CoT Agent أي سياق داعم حول السؤال
يوجد دفتر الملاحظات الخاص بكل نوع وكيل في الدليل ./hotpot_runs/notebooks
.
يتيح لك كل دفتر ملاحظات تحديد استراتيجية reflexion التي سيستخدمها الوكلاء. تتضمن استراتيجيات reflexion المتاحة، والتي تم تعريفها في Enum
، ما يلي:
reflexion Strategy.NONE
- لا يتم إعطاء العميل أي معلومات حول محاولته الأخيرة.
reflexion Strategy.LAST_ATTEMPT
- يُعطى الوكيل أثر الاستدلال الخاص به من محاولته الأخيرة للسؤال كسياق.
reflexion Strategy. reflexion
- يتم إعطاء الوكيل انعكاسه الذاتي في المحاولة الأخيرة كسياق.
reflexion Strategy.LAST_ATTEMPT_AND_ reflexion
- يُعطى الوكيل كلاً من أثر الاستدلال والتأمل الذاتي في المحاولة الأخيرة كسياق.
انسخ هذا الريبو وانتقل إلى دليل AlfWorld
git clone https://github.com/noahshinn/reflexion && cd ./alfworld_runs
حدد معلمات التشغيل في ./run_ reflexion .sh
. num_trials
: عدد خطوات التعلم التكرارية num_envs
: عدد أزواج المهام والبيئة لكل تجربة run_name
: اسم هذا التشغيل use_memory
: استخدم الذاكرة المستمرة لتخزين التأملات الذاتية (قم بإيقاف تشغيله لتشغيل تشغيل أساسي) is_resume
: استخدم دليل التسجيل للاستئناف resume_dir
التشغيل السابق: دليل التسجيل الذي سيتم من خلاله استئناف التشغيل السابق start_trial_num
: في حالة استئناف التشغيل، فإن رقم الإصدار التجريبي الذي سيتم البدء منه
تشغيل المحاكمة
./run_ reflexion .sh
سيتم إرسال السجلات إلى ./root/<run_name>
.
نظرًا لطبيعة هذه التجارب، قد لا يكون من الممكن للمطورين الفرديين إعادة تشغيل النتائج نظرًا لأن GPT-4 يتمتع بإمكانية وصول محدودة ورسوم واجهة برمجة التطبيقات (API) كبيرة. يتم تسجيل جميع عمليات التشغيل من الورقة ويتم تسجيل النتائج الإضافية في ./alfworld_runs/root
لاتخاذ القرار، ./hotpotqa_runs/root
root للاستدلال، و ./programming_runs/root
للبرمجة
تحقق من الكود الخاص بالكود الأصلي هنا
اقرأ تدوينة هنا
تحقق من تطبيق مثير للاهتمام للتنبؤ بالنوع هنا: OpenTau
لجميع الأسئلة، اتصل [email protected]
@misc { shinn2023 reflexion ,
title = { reflexion : Language Agents with Verbal Reinforcement Learning } ,
author = { Noah Shinn and Federico Cassano and Edward Berman and Ashwin Gopinath and Karthik Narasimhan and Shunyu Yao } ,
year = { 2023 } ,
eprint = { 2303.11366 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.AI }
}