يقوم مخطط HTN تلقائيًا بإنشاء خطط تفصيلية باستخدام بنية Openai's GPT والهندسة الشبكة المهمة الهرمية (HTN). يقوم النظام بإنشاء مهام لتحقيق هدف باستخدام LLM ثم يتحلل بشكل تكراري إلى مهام فرعية يمكن تنفيذها.
للحصول على أفضل النتائج ، استخدم GPT-4 ، على الرغم من أن OpenSource LLMs قد تكفي مع تعديلات على واجهة برمجة التطبيقات
عناصر :
- التحلل - يأخذ مهمة ويتحلل إلى مهام فرعية حتى يتم الوصول إلى عمق الحد الأقصى أو فشل الخطة. يتابع النظام تحلل المرشحين ومحاولات اختيار الخيار الأفضل. قد تخرج مبكرًا إذا كانت النتائج جيدة.
- إعادة التخطيط-عند فشل التخطيط أو فشل جزء من خطة ، يحدث إعادة التخطيط
- تنفيذ المهمة - يحدد مهمة كوحدة قابلة للتنفيذ
- في الوقت الحاضر ، لا يتم تنفيذ المهام في محطة
- تتبع الدولة - يتتبع LLM وتحديث الدولة مع حدوث تنفيذ
- تحليل النص - تحليلات وتستخرج المعلومات من استجابات اللغة الطبيعية التي تنتجها LLM
- ترجمة المهام - تحاول ترجمة مهمة منخفضة المستوى إلى أمر أو جزء من التعليمات البرمجية التي يمكن تنفيذها.
- الواجهة الأمامية - واجهة رد فعل بسيطة لعرض تسلسل هرمي يمثل الخطة
- موجه Evolver - تطبيق مصمم لإنشاء مطالبات تلقائيًا باستخدام الخوارزميات التطورية
- يتم إجراء الاختيار باستخدام
roulette wheel selection - يتم تنفيذ الطفرة بواسطة LLM
- يتم إجراء إعادة التركيب بواسطة LLM باستخدام نتائج الاختيار
- يتم تحديد اللياقة البدنية بواسطة LLM ويتم تطبيعها باستخدام درجة Z بحيث يمكن مقارنة النتائج باستخدام الانحرافات المعيارية
- طوبولوجيا البيئة هي شبكة حلقية ثنائية الأبعاد تتكيف مع التحسين المحلي أو العالمي ديناميكيًا
- سجلات - يتم إنشاء مجموعة كبيرة ومتنوعة من السجلات في مجلد "سجلات" ويمكن العثور على آثار الوظائف في "function_trace.log"
- function_trace.log - يتتبع جميع مكالمات الوظائف المشروحة بـ "trace_function_calls"
- سجلات المجلد في المجلد "سجلات" كل نظام فرعي معين باستخدام وظيفة "log_response"
- parsing_errors - يتتبع أي مشكلات في تحليل الإخراج من LLM بحيث يمكن إجراء التحديثات إلى المحلل اللغوي لإصلاح المشكلة
- State_Changes - يتعقب انتقالات الحالة بمرور الوقت الذي تم إنشاؤه بواسطة LLM استنادًا إلى المعلومات التي لديها
تودو :
- قم بتخزين قطع الخطط الناجحة في ناقل DB للاستخدام لاحقًا وخفض تكاليف التوليد
- استمر في تحسين تحليل النص للتعامل مع المزيد من حالات الحافة
- المزيد من المعالجة بعد المعالجة
- إعادة تقييم الشروط المسبقة كشرط لتنفيذ المهمة
تثبيت :
الخلفية
- اضبط متغير البيئة
OPENAI_KEY على مفتاح API Openai الخاص بك - تثبيت التبعيات
- قم بتشغيل
pip install -r requirements.txt
- تشغيل تطبيق التخطيط
-
python src/main.py - أدخل الحالة الأولية
- هذه أي معلومات تريد أن يعرفها النظام قبل أن يبدأ التخطيط
- لا يجوز لك وضع
None أو لا شيء في هذا المدخلات
- صف هدفك
- أدخل الهدف الذي يخطط النظام للوصول إليه
- على سبيل المثال:
eat a ham sandwich
- القدرات الافتراضية
- هذه هي الأدوات التي قد يفكر فيها المخطط عند إنشاء الخطة
- هذا الافتراضات إلى
Linux terminal, internet access ، يمكنك فقط الضغط على Enter لاستخدام هذه
- اختر مخطط
- خيارات لإنشاء خطط باستخدام أنواع مختلفة من خوارزميات التخطيط. خيارات مثل ، مخطط HTN ومخطط البحث*.
- هذا الافتراضات لاستخدام مخطط HTN
- تشغيل تطبيق Evolver
-
python src/prompt_evolver.py - أدخل الهدف أو المشكلة التي ترغب في تصميمها حولها.
الواجهة الأمامية:
- اذهب إلى دليل الواجهة الأمامية
- ابدأ الواجهة الأمامية
الاعتمادات :
مراجع :
- htn
- أوراق
- https://arxiv.org/pdf/1106.4869.pdf
- https://arxiv.org/pdf/1403.7426.pdf
- https://www.cs.umd.edu/~nau/papers/nau2021gtpyhop.pdf
- كتب
- التخطيط الآلي والنظرية والممارسة (2008) بقلم مالك غالاب ، دانا ناو ، باولو ترافيرسو (الفصل 11)
- التطبيقات والتوثيق
- https://www.cs.umd.edu/projects/shop/description.html
- https://github.com/ptrefall/fluid-hierarchical-task-network
- https://github.com/maksmaisak/htn
- https://maksmaisak.github.io/htn/front.html
- https://github.com/dananau/gtpyhop
- مقاطع الفيديو
- https://www.youtube.com/watch؟v=7l3tcofmr7w
- https://www.youtube.com/watch؟v=MYPF9_5WVLM
- https://www.youtube.com/watch؟v=7rhi4fwljw4
- https://www.youtube.com/watch؟v=KXM467TFTCY
- https://www.youtube.com/watch؟v=xxusfbvquly