التدريب
نظرة عامة
Section titled “نظرة عامة”تتيح لك ميزة التدريب في CrewAI تدريب وكلاء الذكاء الاصطناعي باستخدام واجهة سطر الأوامر (CLI).
بتشغيل الأمر crewai train -n <n_iterations>، يمكنك تحديد عدد التكرارات لعملية التدريب.
أثناء التدريب، يستخدم CrewAI تقنيات لتحسين أداء وكلائك مع التغذية الراجعة البشرية. يساعد هذا الوكلاء على تحسين فهمهم واتخاذ القرارات وحل المشكلات.
تدريب طاقمك باستخدام CLI
Section titled “تدريب طاقمك باستخدام CLI”لاستخدام ميزة التدريب، اتبع الخطوات التالية:
- افتح الطرفية أو موجه الأوامر.
- انتقل إلى المجلد حيث يقع مشروع CrewAI.
- شغّل الأمر التالي:
crewai train -n <n_iterations> -f <filename.pkl>تدريب طاقمك برمجيًا
Section titled “تدريب طاقمك برمجيًا”لتدريب طاقمك برمجيًا، استخدم الخطوات التالية:
- حدد عدد التكرارات للتدريب.
- حدد معاملات الإدخال لعملية التدريب.
- نفّذ أمر التدريب داخل كتلة try-except للتعامل مع الأخطاء المحتملة.
n_iterations = 2inputs = {"topic": "CrewAI Training"}filename = "your_model.pkl"
try: YourCrewName_Crew().crew().train( n_iterations=n_iterations, inputs=inputs, filename=filename )
except Exception as e: raise Exception(f"An error occurred while training the crew: {e}")كيف تُستخدم بيانات التدريب من قبل الوكلاء
Section titled “كيف تُستخدم بيانات التدريب من قبل الوكلاء”يستخدم CrewAI مخرجات التدريب بطريقتين: أثناء التدريب لدمج ملاحظاتك البشرية، وبعد التدريب لتوجيه الوكلاء باقتراحات موحدة.
تدفق بيانات التدريب
Section titled “تدفق بيانات التدريب”flowchart TD A["Start training<br/>CLI: crewai train -n -f<br/>or Python: crew.train(...)"] --> B["Setup training mode<br/>- task.human_input = true<br/>- disable delegation<br/>- init training_data.pkl + trained file"]
subgraph "Iterations" direction LR C["Iteration i<br/>initial_output"] --> D["User human_feedback"] D --> E["improved_output"] E --> F["Append to training_data.pkl<br/>by agent_id and iteration"] end
B --> C F --> G{"More iterations?"} G -- "Yes" --> C G -- "No" --> H["Evaluate per agent<br/>aggregate iterations"]
H --> I["Consolidate<br/>suggestions[] + quality + final_summary"] I --> J["Save by agent role to trained file<br/>(default: trained_agents_data.pkl)"]
J --> K["Normal (non-training) runs"] K --> L["Auto-load suggestions<br/>from trained_agents_data.pkl"] L --> M["Append to prompt<br/>for consistent improvements"]أثناء تشغيلات التدريب
Section titled “أثناء تشغيلات التدريب”- في كل تكرار، يسجل النظام لكل وكيل:
initial_output: الإجابة الأولى للوكيلhuman_feedback: ملاحظاتك المضمّنة عند الطلبimproved_output: إجابة المتابعة للوكيل بعد الملاحظات
- تُخزن هذه البيانات في ملف عمل باسم
training_data.pklمفهرس بمعرّف الوكيل الداخلي والتكرار. - أثناء نشاط التدريب، يُلحق الوكيل تلقائيًا ملاحظاتك البشرية السابقة بأمره لتطبيق تلك التعليمات في المحاولات اللاحقة ضمن جلسة التدريب.
التدريب تفاعلي: تُعيّن المهام
human_input = true، لذا سيتوقف التشغيل في بيئة غير تفاعلية بانتظار مدخلات المستخدم.
بعد اكتمال التدريب
Section titled “بعد اكتمال التدريب”- عند انتهاء
train(...)، يقيّم CrewAI بيانات التدريب المجمعة لكل وكيل وينتج نتيجة موحدة تحتوي على:suggestions: تعليمات واضحة وقابلة للتنفيذ مستخلصة من ملاحظاتك والفرق بين المخرجات الأولية/المحسنةquality: درجة من 0-10 تعكس التحسنfinal_summary: مجموعة خطوات عمل تفصيلية للمهام المستقبلية
- تُحفظ هذه النتائج الموحدة في اسم الملف الذي تمرره إلى
train(...)(الافتراضي عبر CLI هوtrained_agents_data.pkl). تُفهرس الإدخالات بدور الوكيلroleلتطبيقها عبر الجلسات. - أثناء التنفيذ العادي (غير التدريب)، يحمّل كل وكيل تلقائيًا
suggestionsالموحدة ويلحقها بأمر المهمة كتعليمات إلزامية. يمنحك هذا تحسينات متسقة بدون تغيير تعريفات الوكلاء.
ملخص الملفات
Section titled “ملخص الملفات”training_data.pkl(مؤقت، لكل جلسة):- الهيكل:
agent_id -> { iteration_number: { initial_output, human_feedback, improved_output } } - الغرض: التقاط البيانات الخام والملاحظات البشرية أثناء التدريب
- الموقع: يُحفظ في مجلد العمل الحالي (CWD)
- الهيكل:
trained_agents_data.pkl(أو اسم ملفك المخصص):- الهيكل:
agent_role -> { suggestions: string[], quality: number, final_summary: string } - الغرض: استمرار التوجيه الموحد للتشغيلات المستقبلية
- الموقع: يُكتب في CWD افتراضيًا؛ استخدم
-fلتعيين مسار مخصص (بما في ذلك المطلق)
- الهيكل:
اعتبارات نماذج اللغة الصغيرة
Section titled “اعتبارات نماذج اللغة الصغيرة”قيود النماذج الصغيرة في تقييم التدريب
Section titled “قيود النماذج الصغيرة في تقييم التدريب”دقة مخرجات JSON
غالبًا ما تواجه النماذج الأصغر صعوبة في إنتاج استجابات JSON صالحة مطلوبة لتقييمات التدريب المنظمة، مما يؤدي إلى أخطاء تحليل وبيانات غير مكتملة.
جودة التقييم
قد توفر النماذج تحت 7 مليار معامل تقييمات أقل دقة مع عمق استدلال محدود مقارنة بالنماذج الأكبر.
اتباع التعليمات
قد لا تُتبع معايير تقييم التدريب المعقدة بالكامل أو تُراعى من قبل النماذج الأصغر.
الاتساق
قد تفتقر التقييمات عبر تكرارات تدريب متعددة إلى الاتساق مع النماذج الأصغر.
توصيات للتدريب
Section titled “توصيات للتدريب”لجودة تدريب مثالية وتقييمات موثوقة، نوصي بشدة باستخدام نماذج بحد أدنى 7 مليار معامل أو أكبر:
from crewai import Agent, Crew, Task, LLM
# الحد الأدنى الموصى به لتقييم التدريبllm = LLM(model="mistral/open-mistral-7b")
# خيارات أفضل لتقييم تدريب موثوقllm = LLM(model="anthropic/claude-3-sonnet-20240229-v1:0")llm = LLM(model="gpt-4o")
# استخدم هذا LLM مع وكلائكagent = Agent( role="Training Evaluator", goal="Provide accurate training feedback", llm=llm)إذا كان يجب عليك استخدام نماذج أصغر لتقييم التدريب، كن على علم بهذه القيود:
# استخدام نموذج أصغر (توقع بعض القيود)llm = LLM(model="huggingface/microsoft/Phi-3-mini-4k-instruct")نقاط مهمة يجب ملاحظتها
Section titled “نقاط مهمة يجب ملاحظتها”- متطلب العدد الصحيح الموجب: تأكد من أن عدد التكرارات (
n_iterations) هو عدد صحيح موجب. سيرمي الكودValueErrorإذا لم يتحقق هذا الشرط. - متطلب اسم الملف: تأكد من أن اسم الملف ينتهي بـ
.pkl. سيرمي الكودValueErrorإذا لم يتحقق هذا الشرط. - معالجة الأخطاء: يتعامل الكود مع أخطاء العمليات الفرعية والاستثناءات غير المتوقعة، ويوفر رسائل خطأ للمستخدم.
- يُطبق التوجيه المدرّب في وقت الأمر؛ لا يعدّل تهيئة وكيل Python/YAML.
- يحمّل الوكلاء تلقائيًا الاقتراحات المدربة من ملف باسم
trained_agents_data.pklالموجود في مجلد العمل الحالي. إذا درّبت إلى اسم ملف مختلف، أعد تسميته إلىtrained_agents_data.pklقبل التشغيل، أو اضبط المحمّل في الكود. - يمكنك تغيير اسم ملف المخرجات عند استدعاء
crewai trainبـ-f/--filename. المسارات المطلقة مدعومة إذا أردت الحفظ خارج CWD.
من المهم ملاحظة أن عملية التدريب قد تستغرق بعض الوقت، اعتمادًا على تعقيد وكلائك وستتطلب أيضًا ملاحظاتك في كل تكرار.
بمجرد اكتمال التدريب، سيكون وكلاؤك مجهزين بقدرات ومعرفة محسّنة، وجاهزين لمعالجة المهام المعقدة وتقديم رؤى أكثر اتساقًا وقيمة.
تذكر تحديث وإعادة تدريب وكلائك بانتظام لضمان بقائهم على اطلاع بأحدث المعلومات والتطورات في المجال.