mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-04-15 23:42:37 +00:00
Compare commits
1 Commits
1.14.0a3
...
devin/1775
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f66e30b7b7 |
@@ -4,52 +4,6 @@ description: "تحديثات المنتج والتحسينات وإصلاحات
|
||||
icon: "clock"
|
||||
mode: "wide"
|
||||
---
|
||||
<Update label="6 أبريل 2026">
|
||||
## v1.14.0a3
|
||||
|
||||
[عرض الإصدار على GitHub](https://github.com/crewAIInc/crewAI/releases/tag/1.14.0a3)
|
||||
|
||||
## ما الذي تغير
|
||||
|
||||
### الوثائق
|
||||
- تحديث سجل التغييرات والإصدار لـ v1.14.0a2
|
||||
|
||||
## المساهمون
|
||||
|
||||
@joaomdmoura
|
||||
|
||||
</Update>
|
||||
|
||||
<Update label="6 أبريل 2026">
|
||||
## v1.14.0a2
|
||||
|
||||
[عرض الإصدار على GitHub](https://github.com/crewAIInc/crewAI/releases/tag/1.14.0a2)
|
||||
|
||||
# ملاحظات الإصدار 1.14.0a2
|
||||
|
||||
## التعليمات:
|
||||
- ترجم جميع عناوين الأقسام والوصف بشكل طبيعي
|
||||
- احتفظ بتنسيق markdown (##، ###، -، إلخ) كما هو
|
||||
- احتفظ بجميع الأسماء الصحيحة، ومعرفات الشيفرة، وأسماء الفئات، والمصطلحات التقنية دون تغيير
|
||||
(مثل "CrewAI"، "LiteAgent"، "ChromaDB"، "MCP"، "@username")
|
||||
- احتفظ بقسم ## المساهمون وأسماء مستخدمي GitHub كما هي
|
||||
- لا تضف أو تزيل أي محتوى، فقط ترجم
|
||||
|
||||
## المميزات الجديدة
|
||||
- تمت إضافة دعم لـ "ChromaDB" لتحسين أداء قاعدة البيانات.
|
||||
- تحسينات على "LiteAgent" لزيادة الكفاءة.
|
||||
|
||||
## الإصلاحات
|
||||
- إصلاح مشكلة تتعلق بـ "MCP" التي كانت تؤدي إلى تعطل التطبيق.
|
||||
- معالجة الأخطاء المتعلقة بواجهة المستخدم في "CrewAI".
|
||||
|
||||
## المساهمون
|
||||
- @username1
|
||||
- @username2
|
||||
- @username3
|
||||
|
||||
</Update>
|
||||
|
||||
<Update label="2 أبريل 2026">
|
||||
## v1.13.0
|
||||
|
||||
|
||||
@@ -283,7 +283,7 @@ analysis_agent = Agent(
|
||||
|
||||
يمكن تجهيز الوكلاء بأدوات متنوعة لتعزيز قدراتهم. يدعم CrewAI أدوات من:
|
||||
|
||||
- [مجموعة أدوات CrewAI](https://github.com/joaomdmoura/crewai-tools)
|
||||
- [مجموعة أدوات CrewAI](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools)
|
||||
- [أدوات LangChain](https://python.langchain.com/docs/integrations/tools)
|
||||
|
||||
إليك كيفية إضافة أدوات لوكيل:
|
||||
|
||||
@@ -796,7 +796,7 @@ print("Blog:", result)
|
||||
|
||||
## دمج الأدوات مع المهام
|
||||
|
||||
استفد من أدوات [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) و [LangChain Tools](https://python.langchain.com/docs/integrations/tools) لتحسين أداء المهام وتفاعل الوكلاء.
|
||||
استفد من أدوات [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) و [LangChain Tools](https://python.langchain.com/docs/integrations/tools) لتحسين أداء المهام وتفاعل الوكلاء.
|
||||
|
||||
## إنشاء مهمة بأدوات
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ mode: "wide"
|
||||
## ما هي الأداة؟
|
||||
|
||||
الأداة في CrewAI هي مهارة أو وظيفة يمكن للوكلاء استخدامها لأداء إجراءات مختلفة.
|
||||
يشمل ذلك أدوات من [مجموعة أدوات CrewAI](https://github.com/joaomdmoura/crewai-tools) و[أدوات LangChain](https://python.langchain.com/docs/integrations/tools)،
|
||||
يشمل ذلك أدوات من [مجموعة أدوات CrewAI](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) و[أدوات LangChain](https://python.langchain.com/docs/integrations/tools)،
|
||||
مما يُمكّن كل شيء من عمليات البحث البسيطة إلى التفاعلات المعقدة والعمل الجماعي الفعال بين الوكلاء.
|
||||
|
||||
<Note type="info" title="تحسين المؤسسات: مستودع الأدوات">
|
||||
|
||||
@@ -1,132 +0,0 @@
|
||||
---
|
||||
title: "تدريب الطواقم"
|
||||
description: "قم بتدريب طواقمك المنشورة مباشرة من منصة CrewAI AMP لتحسين أداء الوكلاء بمرور الوقت"
|
||||
icon: "dumbbell"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
يتيح لك التدريب تحسين أداء الطاقم من خلال تشغيل جلسات تدريب تكرارية مباشرة من علامة تبويب **Training** في CrewAI AMP. تستخدم المنصة **وضع التدريب التلقائي** — حيث تتولى العملية التكرارية تلقائياً، على عكس تدريب CLI الذي يتطلب ملاحظات بشرية تفاعلية لكل تكرار.
|
||||
|
||||
بعد اكتمال التدريب، يقوم CrewAI بتقييم مخرجات الوكلاء ودمج الملاحظات في اقتراحات قابلة للتنفيذ لكل وكيل. يتم بعد ذلك تطبيق هذه الاقتراحات على تشغيلات الطاقم المستقبلية لتحسين جودة المخرجات.
|
||||
|
||||
<Tip>
|
||||
للحصول على تفاصيل حول كيفية عمل تدريب CrewAI، راجع صفحة [مفاهيم التدريب](/ar/concepts/training).
|
||||
</Tip>
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="نشر نشط" icon="rocket">
|
||||
تحتاج إلى حساب CrewAI AMP مع نشر نشط في حالة **Ready** (نوع Crew).
|
||||
</Card>
|
||||
<Card title="صلاحية التشغيل" icon="key">
|
||||
يجب أن يكون لحسابك صلاحية تشغيل للنشر الذي تريد تدريبه.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## كيفية تدريب طاقم
|
||||
|
||||
<Steps>
|
||||
<Step title="افتح علامة تبويب Training">
|
||||
انتقل إلى **Deployments**، انقر على نشرك، ثم اختر علامة تبويب **Training**.
|
||||
</Step>
|
||||
|
||||
<Step title="أدخل اسم التدريب">
|
||||
قدم **Training Name** — سيصبح هذا اسم ملف `.pkl` المستخدم لتخزين نتائج التدريب. على سبيل المثال، "Expert Mode Training" ينتج `expert_mode_training.pkl`.
|
||||
</Step>
|
||||
|
||||
<Step title="املأ مدخلات الطاقم">
|
||||
أدخل حقول إدخال الطاقم. هذه هي نفس المدخلات التي ستقدمها للتشغيل العادي — يتم تحميلها ديناميكياً بناءً على تكوين طاقمك.
|
||||
</Step>
|
||||
|
||||
<Step title="ابدأ التدريب">
|
||||
انقر على **Train Crew**. يتغير الزر إلى "Training..." مع مؤشر دوران أثناء تشغيل العملية.
|
||||
|
||||
خلف الكواليس:
|
||||
- يتم إنشاء سجل تدريب للنشر الخاص بك
|
||||
- تستدعي المنصة نقطة نهاية التدريب التلقائي للنشر
|
||||
- يقوم الطاقم بتشغيل تكراراته تلقائياً — لا حاجة لملاحظات يدوية
|
||||
</Step>
|
||||
|
||||
<Step title="راقب التقدم">
|
||||
تعرض لوحة **Current Training Status**:
|
||||
- **Status** — الحالة الحالية لجلسة التدريب
|
||||
- **Nº Iterations** — عدد تكرارات التدريب المُهيأة
|
||||
- **Filename** — ملف `.pkl` الذي يتم إنشاؤه
|
||||
- **Started At** — وقت بدء التدريب
|
||||
- **Training Inputs** — المدخلات التي قدمتها
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## فهم نتائج التدريب
|
||||
|
||||
بمجرد اكتمال التدريب، سترى بطاقات نتائج لكل وكيل تحتوي على المعلومات التالية:
|
||||
|
||||
- **Agent Role** — اسم/دور الوكيل في طاقمك
|
||||
- **Final Quality** — درجة من 0 إلى 10 تقيّم جودة مخرجات الوكيل
|
||||
- **Final Summary** — ملخص لأداء الوكيل أثناء التدريب
|
||||
- **Suggestions** — توصيات قابلة للتنفيذ لتحسين سلوك الوكيل
|
||||
|
||||
### تحرير الاقتراحات
|
||||
|
||||
يمكنك تحسين الاقتراحات لأي وكيل:
|
||||
|
||||
<Steps>
|
||||
<Step title="انقر على Edit">
|
||||
في بطاقة نتائج أي وكيل، انقر على زر **Edit** بجوار الاقتراحات.
|
||||
</Step>
|
||||
|
||||
<Step title="عدّل الاقتراحات">
|
||||
حدّث نص الاقتراحات ليعكس التحسينات التي تريدها بشكل أفضل.
|
||||
</Step>
|
||||
|
||||
<Step title="احفظ التغييرات">
|
||||
انقر على **Save**. تتم مزامنة الاقتراحات المُعدّلة مع النشر وتُستخدم في جميع التشغيلات المستقبلية.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## استخدام بيانات التدريب
|
||||
|
||||
لتطبيق نتائج التدريب على طاقمك:
|
||||
|
||||
1. لاحظ **Training Filename** (ملف `.pkl`) من جلسة التدريب المكتملة.
|
||||
2. حدد اسم الملف هذا في تكوين kickoff أو التشغيل الخاص بنشرك.
|
||||
3. يقوم الطاقم تلقائياً بتحميل ملف التدريب وتطبيق الاقتراحات المخزنة على كل وكيل.
|
||||
|
||||
هذا يعني أن الوكلاء يستفيدون من الملاحظات المُنشأة أثناء التدريب في كل تشغيل لاحق.
|
||||
|
||||
## التدريبات السابقة
|
||||
|
||||
يعرض الجزء السفلي من علامة تبويب Training **سجل جميع جلسات التدريب السابقة** للنشر. استخدم هذا لمراجعة التدريبات السابقة، ومقارنة النتائج، أو اختيار ملف تدريب مختلف للاستخدام.
|
||||
|
||||
## معالجة الأخطاء
|
||||
|
||||
إذا فشل تشغيل التدريب، تعرض لوحة الحالة حالة خطأ مع رسالة تصف ما حدث خطأ.
|
||||
|
||||
الأسباب الشائعة لفشل التدريب:
|
||||
- **لم يتم تحديث وقت تشغيل النشر** — تأكد من أن نشرك يعمل بأحدث إصدار
|
||||
- **أخطاء تنفيذ الطاقم** — مشاكل في منطق مهام الطاقم أو تكوين الوكيل
|
||||
- **مشاكل الشبكة** — مشاكل الاتصال بين المنصة والنشر
|
||||
|
||||
## القيود
|
||||
|
||||
<Info>
|
||||
ضع هذه القيود في الاعتبار عند التخطيط لسير عمل التدريب الخاص بك:
|
||||
- **تدريب نشط واحد في كل مرة** لكل نشر — انتظر حتى ينتهي التشغيل الحالي قبل بدء آخر
|
||||
- **وضع التدريب التلقائي فقط** — لا تدعم المنصة الملاحظات التفاعلية لكل تكرار مثل CLI
|
||||
- **بيانات التدريب خاصة بالنشر** — ترتبط نتائج التدريب بمثيل وإصدار النشر المحدد
|
||||
</Info>
|
||||
|
||||
## الموارد ذات الصلة
|
||||
|
||||
<CardGroup cols={3}>
|
||||
<Card title="مفاهيم التدريب" icon="book" href="/ar/concepts/training">
|
||||
تعلم كيف يعمل تدريب CrewAI.
|
||||
</Card>
|
||||
<Card title="تشغيل الطاقم" icon="play" href="/ar/enterprise/guides/kickoff-crew">
|
||||
قم بتشغيل طاقمك المنشور من منصة AMP.
|
||||
</Card>
|
||||
<Card title="النشر على AMP" icon="cloud-arrow-up" href="/ar/enterprise/guides/deploy-to-amp">
|
||||
انشر طاقمك واجعله جاهزاً للتدريب.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
@@ -2342,7 +2342,6 @@
|
||||
"en/enterprise/guides/deploy-to-amp",
|
||||
"en/enterprise/guides/private-package-registry",
|
||||
"en/enterprise/guides/kickoff-crew",
|
||||
"en/enterprise/guides/training-crews",
|
||||
"en/enterprise/guides/update-crew",
|
||||
"en/enterprise/guides/enable-crew-studio",
|
||||
"en/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -2813,7 +2812,6 @@
|
||||
"en/enterprise/guides/deploy-to-amp",
|
||||
"en/enterprise/guides/private-package-registry",
|
||||
"en/enterprise/guides/kickoff-crew",
|
||||
"en/enterprise/guides/training-crews",
|
||||
"en/enterprise/guides/update-crew",
|
||||
"en/enterprise/guides/enable-crew-studio",
|
||||
"en/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -3282,7 +3280,6 @@
|
||||
"en/enterprise/guides/deploy-to-amp",
|
||||
"en/enterprise/guides/private-package-registry",
|
||||
"en/enterprise/guides/kickoff-crew",
|
||||
"en/enterprise/guides/training-crews",
|
||||
"en/enterprise/guides/update-crew",
|
||||
"en/enterprise/guides/enable-crew-studio",
|
||||
"en/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -3754,7 +3751,6 @@
|
||||
"en/enterprise/guides/deploy-to-amp",
|
||||
"en/enterprise/guides/private-package-registry",
|
||||
"en/enterprise/guides/kickoff-crew",
|
||||
"en/enterprise/guides/training-crews",
|
||||
"en/enterprise/guides/update-crew",
|
||||
"en/enterprise/guides/enable-crew-studio",
|
||||
"en/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -4224,7 +4220,6 @@
|
||||
"pt-BR/enterprise/guides/deploy-to-amp",
|
||||
"pt-BR/enterprise/guides/private-package-registry",
|
||||
"pt-BR/enterprise/guides/kickoff-crew",
|
||||
"pt-BR/enterprise/guides/training-crews",
|
||||
"pt-BR/enterprise/guides/update-crew",
|
||||
"pt-BR/enterprise/guides/enable-crew-studio",
|
||||
"pt-BR/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -4680,7 +4675,6 @@
|
||||
"pt-BR/enterprise/guides/deploy-to-amp",
|
||||
"pt-BR/enterprise/guides/private-package-registry",
|
||||
"pt-BR/enterprise/guides/kickoff-crew",
|
||||
"pt-BR/enterprise/guides/training-crews",
|
||||
"pt-BR/enterprise/guides/update-crew",
|
||||
"pt-BR/enterprise/guides/enable-crew-studio",
|
||||
"pt-BR/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -5135,7 +5129,6 @@
|
||||
"pt-BR/enterprise/guides/deploy-to-amp",
|
||||
"pt-BR/enterprise/guides/private-package-registry",
|
||||
"pt-BR/enterprise/guides/kickoff-crew",
|
||||
"pt-BR/enterprise/guides/training-crews",
|
||||
"pt-BR/enterprise/guides/update-crew",
|
||||
"pt-BR/enterprise/guides/enable-crew-studio",
|
||||
"pt-BR/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -5590,7 +5583,6 @@
|
||||
"pt-BR/enterprise/guides/deploy-to-amp",
|
||||
"pt-BR/enterprise/guides/private-package-registry",
|
||||
"pt-BR/enterprise/guides/kickoff-crew",
|
||||
"pt-BR/enterprise/guides/training-crews",
|
||||
"pt-BR/enterprise/guides/update-crew",
|
||||
"pt-BR/enterprise/guides/enable-crew-studio",
|
||||
"pt-BR/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -6045,7 +6037,6 @@
|
||||
"pt-BR/enterprise/guides/deploy-to-amp",
|
||||
"pt-BR/enterprise/guides/private-package-registry",
|
||||
"pt-BR/enterprise/guides/kickoff-crew",
|
||||
"pt-BR/enterprise/guides/training-crews",
|
||||
"pt-BR/enterprise/guides/update-crew",
|
||||
"pt-BR/enterprise/guides/enable-crew-studio",
|
||||
"pt-BR/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -6499,7 +6490,6 @@
|
||||
"pt-BR/enterprise/guides/deploy-to-amp",
|
||||
"pt-BR/enterprise/guides/private-package-registry",
|
||||
"pt-BR/enterprise/guides/kickoff-crew",
|
||||
"pt-BR/enterprise/guides/training-crews",
|
||||
"pt-BR/enterprise/guides/update-crew",
|
||||
"pt-BR/enterprise/guides/enable-crew-studio",
|
||||
"pt-BR/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -6953,7 +6943,6 @@
|
||||
"pt-BR/enterprise/guides/deploy-to-amp",
|
||||
"pt-BR/enterprise/guides/private-package-registry",
|
||||
"pt-BR/enterprise/guides/kickoff-crew",
|
||||
"pt-BR/enterprise/guides/training-crews",
|
||||
"pt-BR/enterprise/guides/update-crew",
|
||||
"pt-BR/enterprise/guides/enable-crew-studio",
|
||||
"pt-BR/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -7408,7 +7397,6 @@
|
||||
"pt-BR/enterprise/guides/deploy-to-amp",
|
||||
"pt-BR/enterprise/guides/private-package-registry",
|
||||
"pt-BR/enterprise/guides/kickoff-crew",
|
||||
"pt-BR/enterprise/guides/training-crews",
|
||||
"pt-BR/enterprise/guides/update-crew",
|
||||
"pt-BR/enterprise/guides/enable-crew-studio",
|
||||
"pt-BR/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -7906,7 +7894,6 @@
|
||||
"ko/enterprise/guides/deploy-to-amp",
|
||||
"ko/enterprise/guides/private-package-registry",
|
||||
"ko/enterprise/guides/kickoff-crew",
|
||||
"ko/enterprise/guides/training-crews",
|
||||
"ko/enterprise/guides/update-crew",
|
||||
"ko/enterprise/guides/enable-crew-studio",
|
||||
"ko/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -8374,7 +8361,6 @@
|
||||
"ko/enterprise/guides/deploy-to-amp",
|
||||
"ko/enterprise/guides/private-package-registry",
|
||||
"ko/enterprise/guides/kickoff-crew",
|
||||
"ko/enterprise/guides/training-crews",
|
||||
"ko/enterprise/guides/update-crew",
|
||||
"ko/enterprise/guides/enable-crew-studio",
|
||||
"ko/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -8841,7 +8827,6 @@
|
||||
"ko/enterprise/guides/deploy-to-amp",
|
||||
"ko/enterprise/guides/private-package-registry",
|
||||
"ko/enterprise/guides/kickoff-crew",
|
||||
"ko/enterprise/guides/training-crews",
|
||||
"ko/enterprise/guides/update-crew",
|
||||
"ko/enterprise/guides/enable-crew-studio",
|
||||
"ko/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -9308,7 +9293,6 @@
|
||||
"ko/enterprise/guides/deploy-to-amp",
|
||||
"ko/enterprise/guides/private-package-registry",
|
||||
"ko/enterprise/guides/kickoff-crew",
|
||||
"ko/enterprise/guides/training-crews",
|
||||
"ko/enterprise/guides/update-crew",
|
||||
"ko/enterprise/guides/enable-crew-studio",
|
||||
"ko/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -9775,7 +9759,6 @@
|
||||
"ko/enterprise/guides/deploy-to-amp",
|
||||
"ko/enterprise/guides/private-package-registry",
|
||||
"ko/enterprise/guides/kickoff-crew",
|
||||
"ko/enterprise/guides/training-crews",
|
||||
"ko/enterprise/guides/update-crew",
|
||||
"ko/enterprise/guides/enable-crew-studio",
|
||||
"ko/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -10241,7 +10224,6 @@
|
||||
"ko/enterprise/guides/deploy-to-amp",
|
||||
"ko/enterprise/guides/private-package-registry",
|
||||
"ko/enterprise/guides/kickoff-crew",
|
||||
"ko/enterprise/guides/training-crews",
|
||||
"ko/enterprise/guides/update-crew",
|
||||
"ko/enterprise/guides/enable-crew-studio",
|
||||
"ko/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -10707,7 +10689,6 @@
|
||||
"ko/enterprise/guides/deploy-to-amp",
|
||||
"ko/enterprise/guides/private-package-registry",
|
||||
"ko/enterprise/guides/kickoff-crew",
|
||||
"ko/enterprise/guides/training-crews",
|
||||
"ko/enterprise/guides/update-crew",
|
||||
"ko/enterprise/guides/enable-crew-studio",
|
||||
"ko/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -11174,7 +11155,6 @@
|
||||
"ko/enterprise/guides/deploy-to-amp",
|
||||
"ko/enterprise/guides/private-package-registry",
|
||||
"ko/enterprise/guides/kickoff-crew",
|
||||
"ko/enterprise/guides/training-crews",
|
||||
"ko/enterprise/guides/update-crew",
|
||||
"ko/enterprise/guides/enable-crew-studio",
|
||||
"ko/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -11672,7 +11652,6 @@
|
||||
"ar/enterprise/guides/deploy-to-amp",
|
||||
"ar/enterprise/guides/private-package-registry",
|
||||
"ar/enterprise/guides/kickoff-crew",
|
||||
"ar/enterprise/guides/training-crews",
|
||||
"ar/enterprise/guides/update-crew",
|
||||
"ar/enterprise/guides/enable-crew-studio",
|
||||
"ar/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -12140,7 +12119,6 @@
|
||||
"ar/enterprise/guides/deploy-to-amp",
|
||||
"ar/enterprise/guides/private-package-registry",
|
||||
"ar/enterprise/guides/kickoff-crew",
|
||||
"ar/enterprise/guides/training-crews",
|
||||
"ar/enterprise/guides/update-crew",
|
||||
"ar/enterprise/guides/enable-crew-studio",
|
||||
"ar/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -12607,7 +12585,6 @@
|
||||
"ar/enterprise/guides/deploy-to-amp",
|
||||
"ar/enterprise/guides/private-package-registry",
|
||||
"ar/enterprise/guides/kickoff-crew",
|
||||
"ar/enterprise/guides/training-crews",
|
||||
"ar/enterprise/guides/update-crew",
|
||||
"ar/enterprise/guides/enable-crew-studio",
|
||||
"ar/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -13074,7 +13051,6 @@
|
||||
"ar/enterprise/guides/deploy-to-amp",
|
||||
"ar/enterprise/guides/private-package-registry",
|
||||
"ar/enterprise/guides/kickoff-crew",
|
||||
"ar/enterprise/guides/training-crews",
|
||||
"ar/enterprise/guides/update-crew",
|
||||
"ar/enterprise/guides/enable-crew-studio",
|
||||
"ar/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -13541,7 +13517,6 @@
|
||||
"ar/enterprise/guides/deploy-to-amp",
|
||||
"ar/enterprise/guides/private-package-registry",
|
||||
"ar/enterprise/guides/kickoff-crew",
|
||||
"ar/enterprise/guides/training-crews",
|
||||
"ar/enterprise/guides/update-crew",
|
||||
"ar/enterprise/guides/enable-crew-studio",
|
||||
"ar/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -14007,7 +13982,6 @@
|
||||
"ar/enterprise/guides/deploy-to-amp",
|
||||
"ar/enterprise/guides/private-package-registry",
|
||||
"ar/enterprise/guides/kickoff-crew",
|
||||
"ar/enterprise/guides/training-crews",
|
||||
"ar/enterprise/guides/update-crew",
|
||||
"ar/enterprise/guides/enable-crew-studio",
|
||||
"ar/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -14473,7 +14447,6 @@
|
||||
"ar/enterprise/guides/deploy-to-amp",
|
||||
"ar/enterprise/guides/private-package-registry",
|
||||
"ar/enterprise/guides/kickoff-crew",
|
||||
"ar/enterprise/guides/training-crews",
|
||||
"ar/enterprise/guides/update-crew",
|
||||
"ar/enterprise/guides/enable-crew-studio",
|
||||
"ar/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -14940,7 +14913,6 @@
|
||||
"ar/enterprise/guides/deploy-to-amp",
|
||||
"ar/enterprise/guides/private-package-registry",
|
||||
"ar/enterprise/guides/kickoff-crew",
|
||||
"ar/enterprise/guides/training-crews",
|
||||
"ar/enterprise/guides/update-crew",
|
||||
"ar/enterprise/guides/enable-crew-studio",
|
||||
"ar/enterprise/guides/capture_telemetry_logs",
|
||||
@@ -15063,6 +15035,7 @@
|
||||
}
|
||||
},
|
||||
"seo": {
|
||||
"indexing": "all",
|
||||
"metatags": {
|
||||
"og:type": "website",
|
||||
"og:site_name": "CrewAI Documentation",
|
||||
|
||||
@@ -4,31 +4,6 @@ description: "Product updates, improvements, and bug fixes for CrewAI"
|
||||
icon: "clock"
|
||||
mode: "wide"
|
||||
---
|
||||
<Update label="Apr 06, 2026">
|
||||
## v1.14.0a3
|
||||
|
||||
[View release on GitHub](https://github.com/crewAIInc/crewAI/releases/tag/1.14.0a3)
|
||||
|
||||
## What's Changed
|
||||
|
||||
### Documentation
|
||||
- Update changelog and version for v1.14.0a2
|
||||
|
||||
## Contributors
|
||||
|
||||
@joaomdmoura
|
||||
|
||||
</Update>
|
||||
|
||||
<Update label="Apr 06, 2026">
|
||||
## v1.14.0a2
|
||||
|
||||
[View release on GitHub](https://github.com/crewAIInc/crewAI/releases/tag/1.14.0a2)
|
||||
|
||||
Release 1.14.0a2
|
||||
|
||||
</Update>
|
||||
|
||||
<Update label="Apr 02, 2026">
|
||||
## v1.13.0
|
||||
|
||||
|
||||
@@ -347,7 +347,7 @@ multimodal_agent = Agent(
|
||||
|
||||
Agents can be equipped with various tools to enhance their capabilities. CrewAI supports tools from:
|
||||
|
||||
- [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools)
|
||||
- [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools)
|
||||
- [LangChain Tools](https://python.langchain.com/docs/integrations/tools)
|
||||
|
||||
Here's how to add tools to an agent:
|
||||
|
||||
@@ -797,7 +797,7 @@ By using output_pydantic or output_json, you ensure that your tasks produce outp
|
||||
|
||||
## Integrating Tools with Tasks
|
||||
|
||||
Leverage tools from the [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) and [LangChain Tools](https://python.langchain.com/docs/integrations/tools) for enhanced task performance and agent interaction.
|
||||
Leverage tools from the [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) and [LangChain Tools](https://python.langchain.com/docs/integrations/tools) for enhanced task performance and agent interaction.
|
||||
|
||||
## Creating a Task with Tools
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ This documentation outlines how to create, integrate, and leverage these tools w
|
||||
## What is a Tool?
|
||||
|
||||
A tool in CrewAI is a skill or function that agents can utilize to perform various actions.
|
||||
This includes tools from the [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) and [LangChain Tools](https://python.langchain.com/docs/integrations/tools),
|
||||
This includes tools from the [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) and [LangChain Tools](https://python.langchain.com/docs/integrations/tools),
|
||||
enabling everything from simple searches to complex interactions and effective teamwork among agents.
|
||||
|
||||
<Note type="info" title="Enterprise Enhancement: Tools Repository">
|
||||
|
||||
@@ -1,132 +0,0 @@
|
||||
---
|
||||
title: "Training Crews"
|
||||
description: "Train your deployed crews directly from the CrewAI AMP platform to improve agent performance over time"
|
||||
icon: "dumbbell"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
Training lets you improve crew performance by running iterative training sessions directly from the **Training** tab in CrewAI AMP. The platform uses **auto-train mode** — it handles the iterative process automatically, unlike CLI training which requires interactive human feedback per iteration.
|
||||
|
||||
After training completes, CrewAI evaluates agent outputs and consolidates feedback into actionable suggestions for each agent. These suggestions are then applied to future crew runs to improve output quality.
|
||||
|
||||
<Tip>
|
||||
For details on how CrewAI training works under the hood, see the [Training Concepts](/en/concepts/training) page.
|
||||
</Tip>
|
||||
|
||||
## Prerequisites
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Active deployment" icon="rocket">
|
||||
You need a CrewAI AMP account with an active deployment in **Ready** status (Crew type).
|
||||
</Card>
|
||||
<Card title="Run permission" icon="key">
|
||||
Your account must have run permission for the deployment you want to train.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## How to train a crew
|
||||
|
||||
<Steps>
|
||||
<Step title="Open the Training tab">
|
||||
Navigate to **Deployments**, click your deployment, then select the **Training** tab.
|
||||
</Step>
|
||||
|
||||
<Step title="Enter a training name">
|
||||
Provide a **Training Name** — this becomes the `.pkl` filename used to store training results. For example, "Expert Mode Training" produces `expert_mode_training.pkl`.
|
||||
</Step>
|
||||
|
||||
<Step title="Fill in the crew inputs">
|
||||
Enter the crew's input fields. These are the same inputs you'd provide for a normal kickoff — they're dynamically loaded based on your crew's configuration.
|
||||
</Step>
|
||||
|
||||
<Step title="Start training">
|
||||
Click **Train Crew**. The button changes to "Training..." with a spinner while the process runs.
|
||||
|
||||
Behind the scenes:
|
||||
- A training record is created for your deployment
|
||||
- The platform calls the deployment's auto-train endpoint
|
||||
- The crew runs its iterations automatically — no manual feedback required
|
||||
</Step>
|
||||
|
||||
<Step title="Monitor progress">
|
||||
The **Current Training Status** panel displays:
|
||||
- **Status** — Current state of the training run
|
||||
- **Nº Iterations** — Number of training iterations configured
|
||||
- **Filename** — The `.pkl` file being generated
|
||||
- **Started At** — When training began
|
||||
- **Training Inputs** — The inputs you provided
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Understanding training results
|
||||
|
||||
Once training completes, you'll see per-agent result cards with the following information:
|
||||
|
||||
- **Agent Role** — The name/role of the agent in your crew
|
||||
- **Final Quality** — A score from 0 to 10 evaluating the agent's output quality
|
||||
- **Final Summary** — A summary of the agent's performance during training
|
||||
- **Suggestions** — Actionable recommendations for improving the agent's behavior
|
||||
|
||||
### Editing suggestions
|
||||
|
||||
You can refine the suggestions for any agent:
|
||||
|
||||
<Steps>
|
||||
<Step title="Click Edit">
|
||||
On any agent's result card, click the **Edit** button next to the suggestions.
|
||||
</Step>
|
||||
|
||||
<Step title="Modify suggestions">
|
||||
Update the suggestions text to better reflect the improvements you want.
|
||||
</Step>
|
||||
|
||||
<Step title="Save changes">
|
||||
Click **Save**. The edited suggestions sync back to the deployment and are used in all future runs.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Using trained data
|
||||
|
||||
To apply training results to your crew:
|
||||
|
||||
1. Note the **Training Filename** (the `.pkl` file) from your completed training session.
|
||||
2. Specify this filename in your deployment's kickoff or run configuration.
|
||||
3. The crew automatically loads the training file and applies the stored suggestions to each agent.
|
||||
|
||||
This means agents benefit from the feedback generated during training on every subsequent run.
|
||||
|
||||
## Previous trainings
|
||||
|
||||
The bottom of the Training tab displays a **history of all past training sessions** for the deployment. Use this to review previous training runs, compare results, or select a different training file to use.
|
||||
|
||||
## Error handling
|
||||
|
||||
If a training run fails, the status panel shows an error state along with a message describing what went wrong.
|
||||
|
||||
Common causes of training failures:
|
||||
- **Deployment runtime not updated** — Ensure your deployment is running the latest version
|
||||
- **Crew execution errors** — Issues within the crew's task logic or agent configuration
|
||||
- **Network issues** — Connectivity problems between the platform and the deployment
|
||||
|
||||
## Limitations
|
||||
|
||||
<Info>
|
||||
Keep these constraints in mind when planning your training workflow:
|
||||
- **One active training at a time** per deployment — wait for the current run to finish before starting another
|
||||
- **Auto-train mode only** — the platform does not support interactive per-iteration feedback like the CLI does
|
||||
- **Training data is deployment-specific** — training results are tied to the specific deployment instance and version
|
||||
</Info>
|
||||
|
||||
## Related resources
|
||||
|
||||
<CardGroup cols={3}>
|
||||
<Card title="Training Concepts" icon="book" href="/en/concepts/training">
|
||||
Learn how CrewAI training works under the hood.
|
||||
</Card>
|
||||
<Card title="Kickoff Crew" icon="play" href="/en/enterprise/guides/kickoff-crew">
|
||||
Run your deployed crew from the AMP platform.
|
||||
</Card>
|
||||
<Card title="Deploy to AMP" icon="cloud-arrow-up" href="/en/enterprise/guides/deploy-to-amp">
|
||||
Get your crew deployed and ready for training.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
@@ -171,9 +171,6 @@ We recommend using the `YAML` template scaffolding for a structured approach to
|
||||
```shell
|
||||
uv add <package-name>
|
||||
```
|
||||
<Note>
|
||||
As a supply-chain security measure, CrewAI's internal packages use `exclude-newer = "3 days"` in their `pyproject.toml` files. This means transitive dependencies pulled in by CrewAI won't resolve packages released less than 3 days ago. Your own direct dependencies are not affected by this policy. If you notice a transitive dependency is behind, you can pin the version you want explicitly in your project's dependencies.
|
||||
</Note>
|
||||
- To run your crew, execute the following command in the root of your project:
|
||||
```bash
|
||||
crewai run
|
||||
|
||||
@@ -4,39 +4,6 @@ description: "CrewAI의 제품 업데이트, 개선 사항 및 버그 수정"
|
||||
icon: "clock"
|
||||
mode: "wide"
|
||||
---
|
||||
<Update label="2026년 4월 6일">
|
||||
## v1.14.0a3
|
||||
|
||||
[GitHub 릴리스 보기](https://github.com/crewAIInc/crewAI/releases/tag/1.14.0a3)
|
||||
|
||||
## 변경 사항
|
||||
|
||||
### 문서
|
||||
- v1.14.0a2의 변경 로그 및 버전 업데이트
|
||||
|
||||
## 기여자
|
||||
|
||||
@joaomdmoura
|
||||
|
||||
</Update>
|
||||
|
||||
<Update label="2026년 4월 6일">
|
||||
## v1.14.0a2
|
||||
|
||||
[GitHub 릴리스 보기](https://github.com/crewAIInc/crewAI/releases/tag/1.14.0a2)
|
||||
|
||||
## 릴리스 1.14.0a2
|
||||
|
||||
### 지침:
|
||||
- 모든 섹션 제목과 설명을 자연스럽게 번역합니다.
|
||||
- 마크다운 형식을 그대로 유지합니다 (##, ###, -, 등).
|
||||
- 모든 고유 명사, 코드 식별자, 클래스 이름 및 기술 용어는 변경하지 않습니다.
|
||||
(예: "CrewAI", "LiteAgent", "ChromaDB", "MCP", "@username")
|
||||
- ## 기여자 섹션과 GitHub 사용자 이름은 변경하지 않습니다.
|
||||
- 내용을 추가하거나 제거하지 않고 오직 번역만 합니다.
|
||||
|
||||
</Update>
|
||||
|
||||
<Update label="2026년 4월 2일">
|
||||
## v1.13.0
|
||||
|
||||
|
||||
@@ -322,7 +322,7 @@ multimodal_agent = Agent(
|
||||
## 에이전트 도구
|
||||
|
||||
에이전트는 다양한 도구를 장착하여 그 능력을 향상시킬 수 있습니다. CrewAI는 다음의 도구들을 지원합니다:
|
||||
- [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools)
|
||||
- [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools)
|
||||
- [LangChain Tools](https://python.langchain.com/docs/integrations/tools)
|
||||
|
||||
에이전트에 도구를 추가하는 방법은 다음과 같습니다:
|
||||
|
||||
@@ -616,7 +616,7 @@ output_pydantic 또는 output_json을 사용하면, 작업의 출력이 일관
|
||||
|
||||
## 도구와 작업 통합
|
||||
|
||||
향상된 작업 성능과 에이전트 상호작용을 위해 [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) 및 [LangChain Tools](https://python.langchain.com/docs/integrations/tools)의 도구를 활용하세요.
|
||||
향상된 작업 성능과 에이전트 상호작용을 위해 [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) 및 [LangChain Tools](https://python.langchain.com/docs/integrations/tools)의 도구를 활용하세요.
|
||||
|
||||
## 도구와 함께 Task 생성하기
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ CrewAI 도구는 에이전트에게 웹 검색, 데이터 분석부터 동료
|
||||
## Tool이란 무엇인가?
|
||||
|
||||
CrewAI에서 tool은 에이전트가 다양한 작업을 수행하기 위해 활용할 수 있는 기술 또는 기능입니다.
|
||||
이에는 [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) 및 [LangChain Tools](https://python.langchain.com/docs/integrations/tools)의 tool이 포함되어,
|
||||
이에는 [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) 및 [LangChain Tools](https://python.langchain.com/docs/integrations/tools)의 tool이 포함되어,
|
||||
간단한 검색부터 복잡한 상호작용, 그리고 에이전트 간의 효과적인 협업까지 모두 가능하게 합니다.
|
||||
|
||||
<Note type="info" title="엔터프라이즈 확장: Tools Repository">
|
||||
@@ -284,4 +284,4 @@ writer1 = Agent(
|
||||
|
||||
## 결론
|
||||
|
||||
도구는 CrewAI 에이전트의 역량을 확장하는 데 중요한 역할을 하며, 이를 통해 에이전트가 폭넓은 작업을 수행하고 효과적으로 협업할 수 있습니다. CrewAI로 솔루션을 구축할 때는, 맞춤형 또는 기존의 도구를 모두 활용하여 에이전트를 강화하고 AI 생태계를 향상시키세요. 에이전트의 성능과 기능을 최적화하기 위해 오류 처리, 캐싱 메커니즘, 그리고 도구 인자의 유연성도 고려해보시기 바랍니다.
|
||||
도구는 CrewAI 에이전트의 역량을 확장하는 데 중요한 역할을 하며, 이를 통해 에이전트가 폭넓은 작업을 수행하고 효과적으로 협업할 수 있습니다. CrewAI로 솔루션을 구축할 때는, 맞춤형 또는 기존의 도구를 모두 활용하여 에이전트를 강화하고 AI 생태계를 향상시키세요. 에이전트의 성능과 기능을 최적화하기 위해 오류 처리, 캐싱 메커니즘, 그리고 도구 인자의 유연성도 고려해보시기 바랍니다.
|
||||
|
||||
@@ -1,132 +0,0 @@
|
||||
---
|
||||
title: "Crew 훈련"
|
||||
description: "CrewAI AMP 플랫폼에서 직접 배포된 Crew를 훈련하여 시간이 지남에 따라 에이전트 성능을 개선하세요"
|
||||
icon: "dumbbell"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
훈련을 통해 CrewAI AMP의 **Training** 탭에서 직접 반복 훈련 세션을 실행하여 Crew 성능을 개선할 수 있습니다. 플랫폼은 **자동 훈련 모드**를 사용합니다 — 반복 프로세스를 자동으로 처리하며, 반복마다 대화형 피드백이 필요한 CLI 훈련과는 다릅니다.
|
||||
|
||||
훈련이 완료되면 CrewAI는 에이전트 출력을 평가하고 각 에이전트에 대한 실행 가능한 제안으로 피드백을 통합합니다. 이러한 제안은 향후 Crew 실행에 적용되어 출력 품질을 개선합니다.
|
||||
|
||||
<Tip>
|
||||
CrewAI 훈련이 내부적으로 어떻게 작동하는지에 대한 자세한 내용은 [훈련 개념](/ko/concepts/training) 페이지를 참조하세요.
|
||||
</Tip>
|
||||
|
||||
## 사전 요구 사항
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="활성 배포" icon="rocket">
|
||||
**Ready** 상태의 활성 배포(Crew 유형)가 있는 CrewAI AMP 계정이 필요합니다.
|
||||
</Card>
|
||||
<Card title="실행 권한" icon="key">
|
||||
훈련하려는 배포에 대한 실행 권한이 계정에 있어야 합니다.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## Crew 훈련 방법
|
||||
|
||||
<Steps>
|
||||
<Step title="Training 탭 열기">
|
||||
**Deployments**로 이동하여 배포를 클릭한 다음 **Training** 탭을 선택합니다.
|
||||
</Step>
|
||||
|
||||
<Step title="훈련 이름 입력">
|
||||
**Training Name**을 입력합니다 — 이것은 훈련 결과를 저장하는 데 사용되는 `.pkl` 파일 이름이 됩니다. 예를 들어, "Expert Mode Training"은 `expert_mode_training.pkl`을 생성합니다.
|
||||
</Step>
|
||||
|
||||
<Step title="Crew 입력값 작성">
|
||||
Crew의 입력 필드를 입력합니다. 이는 일반 kickoff에 제공하는 것과 동일한 입력값입니다 — Crew 구성에 따라 동적으로 로드됩니다.
|
||||
</Step>
|
||||
|
||||
<Step title="훈련 시작">
|
||||
**Train Crew**를 클릭합니다. 프로세스가 실행되는 동안 버튼이 스피너와 함께 "Training..."으로 변경됩니다.
|
||||
|
||||
내부적으로:
|
||||
- 배포에 대한 훈련 레코드가 생성됩니다
|
||||
- 플랫폼이 배포의 자동 훈련 엔드포인트를 호출합니다
|
||||
- Crew가 자동으로 반복을 실행합니다 — 수동 피드백이 필요하지 않습니다
|
||||
</Step>
|
||||
|
||||
<Step title="진행 상황 모니터링">
|
||||
**Current Training Status** 패널에 다음이 표시됩니다:
|
||||
- **Status** — 훈련 실행의 현재 상태
|
||||
- **Nº Iterations** — 구성된 훈련 반복 횟수
|
||||
- **Filename** — 생성 중인 `.pkl` 파일
|
||||
- **Started At** — 훈련 시작 시간
|
||||
- **Training Inputs** — 제공한 입력값
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## 훈련 결과 이해
|
||||
|
||||
훈련이 완료되면 다음 정보가 포함된 에이전트별 결과 카드가 표시됩니다:
|
||||
|
||||
- **Agent Role** — Crew에서 에이전트의 이름/역할
|
||||
- **Final Quality** — 에이전트 출력 품질을 평가하는 0~10점 점수
|
||||
- **Final Summary** — 훈련 중 에이전트 성능 요약
|
||||
- **Suggestions** — 에이전트 동작 개선을 위한 실행 가능한 권장 사항
|
||||
|
||||
### 제안 편집
|
||||
|
||||
모든 에이전트의 제안을 개선할 수 있습니다:
|
||||
|
||||
<Steps>
|
||||
<Step title="Edit 클릭">
|
||||
에이전트의 결과 카드에서 제안 옆에 있는 **Edit** 버튼을 클릭합니다.
|
||||
</Step>
|
||||
|
||||
<Step title="제안 수정">
|
||||
원하는 개선 사항을 더 잘 반영하도록 제안 텍스트를 업데이트합니다.
|
||||
</Step>
|
||||
|
||||
<Step title="변경 사항 저장">
|
||||
**Save**를 클릭합니다. 편집된 제안이 배포에 다시 동기화되고 이후 모든 실행에 사용됩니다.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## 훈련 데이터 사용
|
||||
|
||||
Crew에 훈련 결과를 적용하려면:
|
||||
|
||||
1. 완료된 훈련 세션에서 **Training Filename**(`.pkl` 파일)을 확인합니다.
|
||||
2. 배포의 kickoff 또는 실행 구성에서 이 파일 이름을 지정합니다.
|
||||
3. Crew가 자동으로 훈련 파일을 로드하고 저장된 제안을 각 에이전트에 적용합니다.
|
||||
|
||||
이는 에이전트가 이후 모든 실행에서 훈련 중에 생성된 피드백의 혜택을 받는다는 것을 의미합니다.
|
||||
|
||||
## 이전 훈련
|
||||
|
||||
Training 탭 하단에는 배포에 대한 **모든 과거 훈련 세션 기록**이 표시됩니다. 이전 훈련 실행을 검토하거나 결과를 비교하거나 사용할 다른 훈련 파일을 선택하는 데 사용합니다.
|
||||
|
||||
## 오류 처리
|
||||
|
||||
훈련 실행이 실패하면 상태 패널에 무엇이 잘못되었는지 설명하는 메시지와 함께 오류 상태가 표시됩니다.
|
||||
|
||||
훈련 실패의 일반적인 원인:
|
||||
- **배포 런타임이 업데이트되지 않음** — 배포가 최신 버전을 실행하고 있는지 확인하세요
|
||||
- **Crew 실행 오류** — Crew의 작업 로직 또는 에이전트 구성 내 문제
|
||||
- **네트워크 문제** — 플랫폼과 배포 간의 연결 문제
|
||||
|
||||
## 제한 사항
|
||||
|
||||
<Info>
|
||||
훈련 워크플로를 계획할 때 다음 제약 사항을 염두에 두세요:
|
||||
- **배포당 한 번에 하나의 활성 훈련** — 다른 훈련을 시작하기 전에 현재 실행이 완료될 때까지 기다리세요
|
||||
- **자동 훈련 모드만** — 플랫폼은 CLI처럼 반복당 대화형 피드백을 지원하지 않습니다
|
||||
- **훈련 데이터는 배포별** — 훈련 결과는 특정 배포 인스턴스 및 버전에 연결됩니다
|
||||
</Info>
|
||||
|
||||
## 관련 리소스
|
||||
|
||||
<CardGroup cols={3}>
|
||||
<Card title="훈련 개념" icon="book" href="/ko/concepts/training">
|
||||
CrewAI 훈련이 내부적으로 어떻게 작동하는지 알아보세요.
|
||||
</Card>
|
||||
<Card title="Crew 시작" icon="play" href="/ko/enterprise/guides/kickoff-crew">
|
||||
AMP 플랫폼에서 배포된 Crew를 실행하세요.
|
||||
</Card>
|
||||
<Card title="AMP에 배포" icon="cloud-arrow-up" href="/ko/enterprise/guides/deploy-to-amp">
|
||||
Crew를 배포하고 훈련 준비를 완료하세요.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
@@ -4,39 +4,6 @@ description: "Atualizações de produto, melhorias e correções do CrewAI"
|
||||
icon: "clock"
|
||||
mode: "wide"
|
||||
---
|
||||
<Update label="06 abr 2026">
|
||||
## v1.14.0a3
|
||||
|
||||
[Ver release no GitHub](https://github.com/crewAIInc/crewAI/releases/tag/1.14.0a3)
|
||||
|
||||
## O que Mudou
|
||||
|
||||
### Documentação
|
||||
- Atualizar changelog e versão para v1.14.0a2
|
||||
|
||||
## Contribuidores
|
||||
|
||||
@joaomdmoura
|
||||
|
||||
</Update>
|
||||
|
||||
<Update label="06 abr 2026">
|
||||
## v1.14.0a2
|
||||
|
||||
[Ver release no GitHub](https://github.com/crewAIInc/crewAI/releases/tag/1.14.0a2)
|
||||
|
||||
## Lançamento 1.14.0a2
|
||||
|
||||
### Instruções:
|
||||
- Traduza todos os cabeçalhos de seção e descrições de forma natural
|
||||
- Mantenha a formatação markdown (##, ###, -, etc.) exatamente como está
|
||||
- Mantenha todos os nomes próprios, identificadores de código, nomes de classes e termos técnicos inalterados
|
||||
(por exemplo, "CrewAI", "LiteAgent", "ChromaDB", "MCP", "@username")
|
||||
- Mantenha a seção ## Contribuidores e os nomes de usuários do GitHub inalterados
|
||||
- Não adicione nem remova nenhum conteúdo, apenas traduza
|
||||
|
||||
</Update>
|
||||
|
||||
<Update label="02 abr 2026">
|
||||
## v1.13.0
|
||||
|
||||
|
||||
@@ -344,7 +344,7 @@ multimodal_agent = Agent(
|
||||
|
||||
Agentes podem ser equipados com diversas ferramentas para ampliar suas capacidades. O CrewAI suporta ferramentas do:
|
||||
|
||||
- [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools)
|
||||
- [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools)
|
||||
- [LangChain Tools](https://python.langchain.com/docs/integrations/tools)
|
||||
|
||||
Veja como adicionar ferramentas a um agente:
|
||||
|
||||
@@ -637,7 +637,7 @@ Utilizando `output_pydantic` ou `output_json`, você garante que suas tarefas pr
|
||||
|
||||
## Integrando Ferramentas com Tarefas
|
||||
|
||||
Utilize ferramentas do [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) e [LangChain Tools](https://python.langchain.com/docs/integrations/tools) para ampliar o desempenho das tarefas e aprimorar a interação dos agentes.
|
||||
Utilize ferramentas do [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) e [LangChain Tools](https://python.langchain.com/docs/integrations/tools) para ampliar o desempenho das tarefas e aprimorar a interação dos agentes.
|
||||
|
||||
## Criando uma Tarefa com Ferramentas
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ Esta documentação descreve como criar, integrar e aproveitar essas ferramentas
|
||||
## O que é uma Ferramenta?
|
||||
|
||||
Uma ferramenta no CrewAI é uma habilidade ou função que os agentes podem utilizar para executar diversas ações.
|
||||
Isso inclui ferramentas do [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) e [LangChain Tools](https://python.langchain.com/docs/integrations/tools),
|
||||
Isso inclui ferramentas do [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) e [LangChain Tools](https://python.langchain.com/docs/integrations/tools),
|
||||
permitindo desde buscas simples até interações complexas e trabalho em equipe eficiente entre agentes.
|
||||
|
||||
<Note type="info" title="Aprimoramento para Empresas: Repositório de Ferramentas">
|
||||
|
||||
@@ -1,132 +0,0 @@
|
||||
---
|
||||
title: "Treinamento de Crews"
|
||||
description: "Treine seus crews implantados diretamente da plataforma CrewAI AMP para melhorar o desempenho dos agentes ao longo do tempo"
|
||||
icon: "dumbbell"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
O treinamento permite que você melhore o desempenho do crew executando sessões de treinamento iterativas diretamente da aba **Training** no CrewAI AMP. A plataforma usa o **modo de auto-treinamento** — ela gerencia o processo iterativo automaticamente, diferente do treinamento via CLI que requer feedback humano interativo por iteração.
|
||||
|
||||
Após a conclusão do treinamento, o CrewAI avalia as saídas dos agentes e consolida o feedback em sugestões acionáveis para cada agente. Essas sugestões são então aplicadas às execuções futuras do crew para melhorar a qualidade das saídas.
|
||||
|
||||
<Tip>
|
||||
Para detalhes sobre como o treinamento do CrewAI funciona internamente, consulte a página [Conceitos de Treinamento](/pt-BR/concepts/training).
|
||||
</Tip>
|
||||
|
||||
## Pré-requisitos
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Implantação ativa" icon="rocket">
|
||||
Você precisa de uma conta CrewAI AMP com uma implantação ativa em status **Ready** (tipo Crew).
|
||||
</Card>
|
||||
<Card title="Permissão de execução" icon="key">
|
||||
Sua conta deve ter permissão de execução para a implantação que deseja treinar.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## Como treinar um crew
|
||||
|
||||
<Steps>
|
||||
<Step title="Abra a aba Training">
|
||||
Navegue até **Deployments**, clique na sua implantação e selecione a aba **Training**.
|
||||
</Step>
|
||||
|
||||
<Step title="Insira um nome de treinamento">
|
||||
Forneça um **Training Name** — este será o nome do arquivo `.pkl` usado para armazenar os resultados do treinamento. Por exemplo, "Expert Mode Training" produz `expert_mode_training.pkl`.
|
||||
</Step>
|
||||
|
||||
<Step title="Preencha as entradas do crew">
|
||||
Insira os campos de entrada do crew. Estas são as mesmas entradas que você forneceria para um kickoff normal — elas são carregadas dinamicamente com base na configuração do seu crew.
|
||||
</Step>
|
||||
|
||||
<Step title="Inicie o treinamento">
|
||||
Clique em **Train Crew**. O botão muda para "Training..." com um spinner enquanto o processo é executado.
|
||||
|
||||
Por trás dos panos:
|
||||
- Um registro de treinamento é criado para sua implantação
|
||||
- A plataforma chama o endpoint de auto-treinamento da implantação
|
||||
- O crew executa suas iterações automaticamente — nenhum feedback manual é necessário
|
||||
</Step>
|
||||
|
||||
<Step title="Monitore o progresso">
|
||||
O painel **Current Training Status** exibe:
|
||||
- **Status** — Estado atual da execução do treinamento
|
||||
- **Nº Iterations** — Número de iterações de treinamento configuradas
|
||||
- **Filename** — O arquivo `.pkl` sendo gerado
|
||||
- **Started At** — Quando o treinamento começou
|
||||
- **Training Inputs** — As entradas que você forneceu
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Entendendo os resultados do treinamento
|
||||
|
||||
Uma vez que o treinamento for concluído, você verá cards de resultado por agente com as seguintes informações:
|
||||
|
||||
- **Agent Role** — O nome/função do agente no seu crew
|
||||
- **Final Quality** — Uma pontuação de 0 a 10 avaliando a qualidade da saída do agente
|
||||
- **Final Summary** — Um resumo do desempenho do agente durante o treinamento
|
||||
- **Suggestions** — Recomendações acionáveis para melhorar o comportamento do agente
|
||||
|
||||
### Editando sugestões
|
||||
|
||||
Você pode refinar as sugestões para qualquer agente:
|
||||
|
||||
<Steps>
|
||||
<Step title="Clique em Edit">
|
||||
No card de resultado de qualquer agente, clique no botão **Edit** ao lado das sugestões.
|
||||
</Step>
|
||||
|
||||
<Step title="Modifique as sugestões">
|
||||
Atualize o texto das sugestões para refletir melhor as melhorias que você deseja.
|
||||
</Step>
|
||||
|
||||
<Step title="Salve as alterações">
|
||||
Clique em **Save**. As sugestões editadas são sincronizadas de volta à implantação e usadas em todas as execuções futuras.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Usando dados de treinamento
|
||||
|
||||
Para aplicar os resultados do treinamento ao seu crew:
|
||||
|
||||
1. Anote o **Training Filename** (o arquivo `.pkl`) da sua sessão de treinamento concluída.
|
||||
2. Especifique este nome de arquivo na configuração de kickoff ou execução da sua implantação.
|
||||
3. O crew carrega automaticamente o arquivo de treinamento e aplica as sugestões armazenadas a cada agente.
|
||||
|
||||
Isso significa que os agentes se beneficiam do feedback gerado durante o treinamento em cada execução subsequente.
|
||||
|
||||
## Treinamentos anteriores
|
||||
|
||||
A parte inferior da aba Training exibe um **histórico de todas as sessões de treinamento anteriores** da implantação. Use isso para revisar execuções de treinamento anteriores, comparar resultados ou selecionar um arquivo de treinamento diferente para usar.
|
||||
|
||||
## Tratamento de erros
|
||||
|
||||
Se uma execução de treinamento falhar, o painel de status mostra um estado de erro junto com uma mensagem descrevendo o que deu errado.
|
||||
|
||||
Causas comuns de falhas de treinamento:
|
||||
- **Runtime da implantação não atualizado** — Certifique-se de que sua implantação está executando a versão mais recente
|
||||
- **Erros de execução do crew** — Problemas na lógica de tarefas do crew ou configuração do agente
|
||||
- **Problemas de rede** — Problemas de conectividade entre a plataforma e a implantação
|
||||
|
||||
## Limitações
|
||||
|
||||
<Info>
|
||||
Tenha estas restrições em mente ao planejar seu fluxo de trabalho de treinamento:
|
||||
- **Um treinamento ativo por vez** por implantação — aguarde a execução atual terminar antes de iniciar outra
|
||||
- **Apenas modo de auto-treinamento** — a plataforma não suporta feedback interativo por iteração como o CLI
|
||||
- **Dados de treinamento são específicos da implantação** — os resultados do treinamento estão vinculados à instância e versão específicas da implantação
|
||||
</Info>
|
||||
|
||||
## Recursos relacionados
|
||||
|
||||
<CardGroup cols={3}>
|
||||
<Card title="Conceitos de Treinamento" icon="book" href="/pt-BR/concepts/training">
|
||||
Aprenda como o treinamento do CrewAI funciona internamente.
|
||||
</Card>
|
||||
<Card title="Kickoff Crew" icon="play" href="/pt-BR/enterprise/guides/kickoff-crew">
|
||||
Execute seu crew implantado a partir da plataforma AMP.
|
||||
</Card>
|
||||
<Card title="Implantar no AMP" icon="cloud-arrow-up" href="/pt-BR/enterprise/guides/deploy-to-amp">
|
||||
Faça a implantação do seu crew e deixe-o pronto para treinamento.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
@@ -17,9 +17,6 @@ dependencies = [
|
||||
"av~=13.0.0",
|
||||
]
|
||||
|
||||
[tool.uv]
|
||||
exclude-newer = "3 days"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
@@ -152,4 +152,4 @@ __all__ = [
|
||||
"wrap_file_source",
|
||||
]
|
||||
|
||||
__version__ = "1.14.0a3"
|
||||
__version__ = "1.13.0"
|
||||
|
||||
@@ -11,7 +11,7 @@ dependencies = [
|
||||
"pytube~=15.0.0",
|
||||
"requests~=2.32.5",
|
||||
"docker~=7.1.0",
|
||||
"crewai==1.14.0a3",
|
||||
"crewai==1.13.0",
|
||||
"tiktoken~=0.8.0",
|
||||
"beautifulsoup4~=4.13.4",
|
||||
"python-docx~=1.2.0",
|
||||
@@ -142,9 +142,6 @@ contextual = [
|
||||
]
|
||||
|
||||
|
||||
[tool.uv]
|
||||
exclude-newer = "3 days"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
@@ -309,4 +309,4 @@ __all__ = [
|
||||
"ZapierActionTools",
|
||||
]
|
||||
|
||||
__version__ = "1.14.0a3"
|
||||
__version__ = "1.13.0"
|
||||
|
||||
@@ -54,7 +54,7 @@ Repository = "https://github.com/crewAIInc/crewAI"
|
||||
|
||||
[project.optional-dependencies]
|
||||
tools = [
|
||||
"crewai-tools==1.14.0a3",
|
||||
"crewai-tools==1.13.0",
|
||||
]
|
||||
embeddings = [
|
||||
"tiktoken~=0.8.0"
|
||||
@@ -115,9 +115,6 @@ qdrant-edge = [
|
||||
crewai = "crewai.cli.cli:crewai"
|
||||
|
||||
|
||||
[tool.uv]
|
||||
exclude-newer = "3 days"
|
||||
|
||||
# PyTorch index configuration, since torch 2.5.0 is not compatible with python 3.13
|
||||
[[tool.uv.index]]
|
||||
name = "pytorch-nightly"
|
||||
|
||||
@@ -46,7 +46,7 @@ def _suppress_pydantic_deprecation_warnings() -> None:
|
||||
|
||||
_suppress_pydantic_deprecation_warnings()
|
||||
|
||||
__version__ = "1.14.0a3"
|
||||
__version__ = "1.13.0"
|
||||
_telemetry_submitted = False
|
||||
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ def create_flow(name: str) -> None:
|
||||
tools_template_files = ["tools/__init__.py", "tools/custom_tool.py"]
|
||||
|
||||
crew_folders = [
|
||||
"content_crew",
|
||||
"poem_crew",
|
||||
]
|
||||
|
||||
def process_file(src_file: Path, dst_file: Path) -> None:
|
||||
|
||||
@@ -120,11 +120,11 @@ my_crew/
|
||||
my_flow/
|
||||
├── src/my_flow/
|
||||
│ ├── crews/ # Multiple crew definitions
|
||||
│ │ └── content_crew/
|
||||
│ │ └── poem_crew/
|
||||
│ │ ├── config/
|
||||
│ │ │ ├── agents.yaml
|
||||
│ │ │ └── tasks.yaml
|
||||
│ │ └── content_crew.py
|
||||
│ │ └── poem_crew.py
|
||||
│ ├── tools/ # Custom tools
|
||||
│ ├── main.py # Flow orchestration
|
||||
│ └── ...
|
||||
|
||||
@@ -5,7 +5,7 @@ description = "{{name}} using crewAI"
|
||||
authors = [{ name = "Your Name", email = "you@example.com" }]
|
||||
requires-python = ">=3.10,<3.14"
|
||||
dependencies = [
|
||||
"crewai[tools]==1.14.0a3"
|
||||
"crewai[tools]==1.13.0"
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
|
||||
@@ -38,7 +38,7 @@ crewai run
|
||||
|
||||
This command initializes the {{name}} Flow as defined in your configuration.
|
||||
|
||||
This example, unmodified, will run a content creation flow on AI Agents and save the output to `output/post.md`.
|
||||
This example, unmodified, will run the create a `report.md` file with the output of a research on LLMs in the root folder.
|
||||
|
||||
## Understanding Your Crew
|
||||
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
planner:
|
||||
role: >
|
||||
Content Planner
|
||||
goal: >
|
||||
Plan a detailed and engaging blog post outline on {topic}
|
||||
backstory: >
|
||||
You're an experienced content strategist who excels at creating
|
||||
structured outlines for blog posts. You know how to organize ideas
|
||||
into a logical flow that keeps readers engaged from start to finish.
|
||||
|
||||
writer:
|
||||
role: >
|
||||
Content Writer
|
||||
goal: >
|
||||
Write a compelling and well-structured blog post on {topic}
|
||||
based on the provided outline
|
||||
backstory: >
|
||||
You're a skilled writer with a talent for turning outlines into
|
||||
engaging, informative blog posts. Your writing is clear, conversational,
|
||||
and backed by solid reasoning. You adapt your tone to the subject matter
|
||||
while keeping things accessible to a broad audience.
|
||||
|
||||
editor:
|
||||
role: >
|
||||
Content Editor
|
||||
goal: >
|
||||
Review and polish the blog post on {topic} to ensure it is
|
||||
publication-ready
|
||||
backstory: >
|
||||
You're a meticulous editor with years of experience refining written
|
||||
content. You have an eye for clarity, flow, grammar, and consistency.
|
||||
You improve prose without changing the author's voice and ensure every
|
||||
piece you touch is polished and professional.
|
||||
@@ -1,50 +0,0 @@
|
||||
planning_task:
|
||||
description: >
|
||||
Create a detailed outline for a blog post about {topic}.
|
||||
|
||||
The outline should include:
|
||||
- A compelling title
|
||||
- An introduction hook
|
||||
- 3-5 main sections with key points to cover in each
|
||||
- A conclusion with a call to action
|
||||
|
||||
Make the outline detailed enough that a writer can produce
|
||||
a full blog post from it without additional research.
|
||||
expected_output: >
|
||||
A structured blog post outline with a title, introduction notes,
|
||||
detailed section breakdowns, and conclusion notes.
|
||||
agent: planner
|
||||
|
||||
writing_task:
|
||||
description: >
|
||||
Using the outline provided, write a full blog post about {topic}.
|
||||
|
||||
Requirements:
|
||||
- Follow the outline structure closely
|
||||
- Write in a clear, engaging, and conversational tone
|
||||
- Each section should be 2-3 paragraphs
|
||||
- Include a strong introduction and conclusion
|
||||
- Target around 800-1200 words
|
||||
expected_output: >
|
||||
A complete blog post in markdown format, ready for editing.
|
||||
The post should follow the outline and be well-written with
|
||||
clear transitions between sections.
|
||||
agent: writer
|
||||
|
||||
editing_task:
|
||||
description: >
|
||||
Review and edit the blog post about {topic}.
|
||||
|
||||
Focus on:
|
||||
- Fixing any grammar or spelling errors
|
||||
- Improving sentence clarity and flow
|
||||
- Ensuring consistent tone throughout
|
||||
- Strengthening the introduction and conclusion
|
||||
- Removing any redundancy
|
||||
|
||||
Do not rewrite the post — refine and polish it.
|
||||
expected_output: >
|
||||
The final, polished blog post in markdown format without '```'.
|
||||
Publication-ready with clean formatting and professional prose.
|
||||
agent: editor
|
||||
output_file: output/post.md
|
||||
@@ -0,0 +1 @@
|
||||
"""Poem crew template."""
|
||||
@@ -0,0 +1,11 @@
|
||||
poem_writer:
|
||||
role: >
|
||||
CrewAI Poem Writer
|
||||
goal: >
|
||||
Generate a funny, light heartedpoem about how CrewAI
|
||||
is awesome with a sentence count of {sentence_count}
|
||||
backstory: >
|
||||
You're a creative poet with a talent for capturing the essence of any topic
|
||||
in a beautiful and engaging way. Known for your ability to craft poems that
|
||||
resonate with readers, you bring a unique perspective and artistic flair to
|
||||
every piece you write.
|
||||
@@ -0,0 +1,7 @@
|
||||
write_poem:
|
||||
description: >
|
||||
Write a poem about how CrewAI is awesome.
|
||||
Ensure the poem is engaging and adheres to the specified sentence count of {sentence_count}.
|
||||
expected_output: >
|
||||
A beautifully crafted poem about CrewAI, with exactly {sentence_count} sentences.
|
||||
agent: poem_writer
|
||||
@@ -8,8 +8,8 @@ from crewai.project import CrewBase, agent, crew, task
|
||||
|
||||
|
||||
@CrewBase
|
||||
class ContentCrew:
|
||||
"""Content Crew"""
|
||||
class PoemCrew:
|
||||
"""Poem Crew"""
|
||||
|
||||
agents: list[BaseAgent]
|
||||
tasks: list[Task]
|
||||
@@ -20,50 +20,26 @@ class ContentCrew:
|
||||
agents_config = "config/agents.yaml"
|
||||
tasks_config = "config/tasks.yaml"
|
||||
|
||||
# If you would like to add tools to your crew, you can learn more about it here:
|
||||
# If you would lik to add tools to your crew, you can learn more about it here:
|
||||
# https://docs.crewai.com/concepts/agents#agent-tools
|
||||
@agent
|
||||
def planner(self) -> Agent:
|
||||
def poem_writer(self) -> Agent:
|
||||
return Agent(
|
||||
config=self.agents_config["planner"], # type: ignore[index]
|
||||
)
|
||||
|
||||
@agent
|
||||
def writer(self) -> Agent:
|
||||
return Agent(
|
||||
config=self.agents_config["writer"], # type: ignore[index]
|
||||
)
|
||||
|
||||
@agent
|
||||
def editor(self) -> Agent:
|
||||
return Agent(
|
||||
config=self.agents_config["editor"], # type: ignore[index]
|
||||
config=self.agents_config["poem_writer"], # type: ignore[index]
|
||||
)
|
||||
|
||||
# To learn more about structured task outputs,
|
||||
# task dependencies, and task callbacks, check out the documentation:
|
||||
# https://docs.crewai.com/concepts/tasks#overview-of-a-task
|
||||
@task
|
||||
def planning_task(self) -> Task:
|
||||
def write_poem(self) -> Task:
|
||||
return Task(
|
||||
config=self.tasks_config["planning_task"], # type: ignore[index]
|
||||
)
|
||||
|
||||
@task
|
||||
def writing_task(self) -> Task:
|
||||
return Task(
|
||||
config=self.tasks_config["writing_task"], # type: ignore[index]
|
||||
)
|
||||
|
||||
@task
|
||||
def editing_task(self) -> Task:
|
||||
return Task(
|
||||
config=self.tasks_config["editing_task"], # type: ignore[index]
|
||||
config=self.tasks_config["write_poem"], # type: ignore[index]
|
||||
)
|
||||
|
||||
@crew
|
||||
def crew(self) -> Crew:
|
||||
"""Creates the Content Crew"""
|
||||
"""Creates the Research Crew"""
|
||||
# To learn how to add knowledge sources to your crew, check out the documentation:
|
||||
# https://docs.crewai.com/concepts/knowledge#what-is-knowledge
|
||||
|
||||
@@ -1,64 +1,59 @@
|
||||
#!/usr/bin/env python
|
||||
from pathlib import Path
|
||||
from random import randint
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from crewai.flow import Flow, listen, start
|
||||
|
||||
from {{folder_name}}.crews.content_crew.content_crew import ContentCrew
|
||||
from {{folder_name}}.crews.poem_crew.poem_crew import PoemCrew
|
||||
|
||||
|
||||
class ContentState(BaseModel):
|
||||
topic: str = ""
|
||||
outline: str = ""
|
||||
draft: str = ""
|
||||
final_post: str = ""
|
||||
class PoemState(BaseModel):
|
||||
sentence_count: int = 1
|
||||
poem: str = ""
|
||||
|
||||
|
||||
class ContentFlow(Flow[ContentState]):
|
||||
class PoemFlow(Flow[PoemState]):
|
||||
|
||||
@start()
|
||||
def plan_content(self, crewai_trigger_payload: dict = None):
|
||||
print("Planning content")
|
||||
def generate_sentence_count(self, crewai_trigger_payload: dict = None):
|
||||
print("Generating sentence count")
|
||||
|
||||
# Use trigger payload if available
|
||||
if crewai_trigger_payload:
|
||||
self.state.topic = crewai_trigger_payload.get("topic", "AI Agents")
|
||||
# Example: use trigger data to influence sentence count
|
||||
self.state.sentence_count = crewai_trigger_payload.get('sentence_count', randint(1, 5))
|
||||
print(f"Using trigger payload: {crewai_trigger_payload}")
|
||||
else:
|
||||
self.state.topic = "AI Agents"
|
||||
self.state.sentence_count = randint(1, 5)
|
||||
|
||||
print(f"Topic: {self.state.topic}")
|
||||
|
||||
@listen(plan_content)
|
||||
def generate_content(self):
|
||||
print(f"Generating content on: {self.state.topic}")
|
||||
@listen(generate_sentence_count)
|
||||
def generate_poem(self):
|
||||
print("Generating poem")
|
||||
result = (
|
||||
ContentCrew()
|
||||
PoemCrew()
|
||||
.crew()
|
||||
.kickoff(inputs={"topic": self.state.topic})
|
||||
.kickoff(inputs={"sentence_count": self.state.sentence_count})
|
||||
)
|
||||
|
||||
print("Content generated")
|
||||
self.state.final_post = result.raw
|
||||
print("Poem generated", result.raw)
|
||||
self.state.poem = result.raw
|
||||
|
||||
@listen(generate_content)
|
||||
def save_content(self):
|
||||
print("Saving content")
|
||||
output_dir = Path("output")
|
||||
output_dir.mkdir(exist_ok=True)
|
||||
with open(output_dir / "post.md", "w") as f:
|
||||
f.write(self.state.final_post)
|
||||
print("Post saved to output/post.md")
|
||||
@listen(generate_poem)
|
||||
def save_poem(self):
|
||||
print("Saving poem")
|
||||
with open("poem.txt", "w") as f:
|
||||
f.write(self.state.poem)
|
||||
|
||||
|
||||
def kickoff():
|
||||
content_flow = ContentFlow()
|
||||
content_flow.kickoff()
|
||||
poem_flow = PoemFlow()
|
||||
poem_flow.kickoff()
|
||||
|
||||
|
||||
def plot():
|
||||
content_flow = ContentFlow()
|
||||
content_flow.plot()
|
||||
poem_flow = PoemFlow()
|
||||
poem_flow.plot()
|
||||
|
||||
|
||||
def run_with_trigger():
|
||||
@@ -79,10 +74,10 @@ def run_with_trigger():
|
||||
|
||||
# Create flow and kickoff with trigger payload
|
||||
# The @start() methods will automatically receive crewai_trigger_payload parameter
|
||||
content_flow = ContentFlow()
|
||||
poem_flow = PoemFlow()
|
||||
|
||||
try:
|
||||
result = content_flow.kickoff({"crewai_trigger_payload": trigger_payload})
|
||||
result = poem_flow.kickoff({"crewai_trigger_payload": trigger_payload})
|
||||
return result
|
||||
except Exception as e:
|
||||
raise Exception(f"An error occurred while running the flow with trigger: {e}")
|
||||
|
||||
@@ -5,7 +5,7 @@ description = "{{name}} using crewAI"
|
||||
authors = [{ name = "Your Name", email = "you@example.com" }]
|
||||
requires-python = ">=3.10,<3.14"
|
||||
dependencies = [
|
||||
"crewai[tools]==1.14.0a3"
|
||||
"crewai[tools]==1.13.0"
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
|
||||
@@ -5,7 +5,7 @@ description = "Power up your crews with {{folder_name}}"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.10,<3.14"
|
||||
dependencies = [
|
||||
"crewai[tools]==1.14.0a3"
|
||||
"crewai[tools]==1.13.0"
|
||||
]
|
||||
|
||||
[tool.crewai]
|
||||
|
||||
85
lib/crewai/tests/test_docs_links.py
Normal file
85
lib/crewai/tests/test_docs_links.py
Normal file
@@ -0,0 +1,85 @@
|
||||
"""Tests to ensure documentation links are up-to-date and correct.
|
||||
|
||||
These tests verify that outdated or broken links in documentation files
|
||||
are caught early and prevent regressions (e.g., issue #5253).
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
|
||||
import pytest
|
||||
|
||||
DOCS_DIR = os.path.join(
|
||||
os.path.dirname(__file__), "..", "..", "..", "docs"
|
||||
)
|
||||
|
||||
# The old personal repo URL that was migrated to the crewAIInc org monorepo.
|
||||
DEPRECATED_TOOLKIT_URL = "github.com/joaomdmoura/crewai-tools"
|
||||
CORRECT_TOOLKIT_URL = (
|
||||
"github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools"
|
||||
)
|
||||
|
||||
|
||||
def _collect_mdx_files():
|
||||
"""Collect all .mdx files under the docs directory."""
|
||||
mdx_files = []
|
||||
for root, _dirs, files in os.walk(DOCS_DIR):
|
||||
for f in files:
|
||||
if f.endswith(".mdx"):
|
||||
mdx_files.append(os.path.join(root, f))
|
||||
return mdx_files
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def mdx_files():
|
||||
files = _collect_mdx_files()
|
||||
assert files, f"No .mdx files found under {DOCS_DIR}"
|
||||
return files
|
||||
|
||||
|
||||
class TestDocumentationLinks:
|
||||
"""Ensure documentation links point to the correct repositories."""
|
||||
|
||||
def test_no_deprecated_crewai_tools_link(self, mdx_files):
|
||||
"""Verify no docs reference the old joaomdmoura/crewai-tools repo.
|
||||
|
||||
The CrewAI tools have moved to the monorepo at
|
||||
crewAIInc/crewAI/tree/main/lib/crewai-tools.
|
||||
See: https://github.com/crewAIInc/crewAI/issues/5253
|
||||
"""
|
||||
violations = []
|
||||
for filepath in mdx_files:
|
||||
with open(filepath, "r", encoding="utf-8") as fh:
|
||||
for line_num, line in enumerate(fh, start=1):
|
||||
if DEPRECATED_TOOLKIT_URL in line:
|
||||
rel_path = os.path.relpath(filepath, DOCS_DIR)
|
||||
violations.append(f" {rel_path}:{line_num}")
|
||||
|
||||
assert not violations, (
|
||||
f"Found deprecated CrewAI Toolkit URL ({DEPRECATED_TOOLKIT_URL}) "
|
||||
f"in the following doc files. "
|
||||
f"Update to: {CORRECT_TOOLKIT_URL}\n"
|
||||
+ "\n".join(violations)
|
||||
)
|
||||
|
||||
def test_crewai_toolkit_links_use_correct_url(self, mdx_files):
|
||||
"""Verify that CrewAI Toolkit markdown links point to the monorepo."""
|
||||
pattern = re.compile(
|
||||
r"\[.*?CrewAI.*?Toolkit.*?\]\((https?://[^)]+)\)", re.IGNORECASE
|
||||
)
|
||||
bad_links = []
|
||||
for filepath in mdx_files:
|
||||
with open(filepath, "r", encoding="utf-8") as fh:
|
||||
for line_num, line in enumerate(fh, start=1):
|
||||
for match in pattern.finditer(line):
|
||||
url = match.group(1)
|
||||
if CORRECT_TOOLKIT_URL not in url:
|
||||
rel_path = os.path.relpath(filepath, DOCS_DIR)
|
||||
bad_links.append(
|
||||
f" {rel_path}:{line_num} -> {url}"
|
||||
)
|
||||
|
||||
assert not bad_links, (
|
||||
"Found CrewAI Toolkit links not pointing to the official monorepo "
|
||||
f"({CORRECT_TOOLKIT_URL}):\n" + "\n".join(bad_links)
|
||||
)
|
||||
@@ -25,9 +25,6 @@ release = "crewai_devtools.cli:release"
|
||||
docs-check = "crewai_devtools.docs_check:docs_check"
|
||||
devtools = "crewai_devtools.cli:main"
|
||||
|
||||
[tool.uv]
|
||||
exclude-newer = "3 days"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
"""CrewAI development tools."""
|
||||
|
||||
__version__ = "1.14.0a3"
|
||||
__version__ = "1.13.0"
|
||||
|
||||
@@ -160,7 +160,6 @@ info = "Commits must follow Conventional Commits 1.0.0."
|
||||
|
||||
|
||||
[tool.uv]
|
||||
exclude-newer = "3 days"
|
||||
|
||||
# composio-core pins rich<14 but textual requires rich>=14.
|
||||
# onnxruntime 1.24+ dropped Python 3.10 wheels; cap it so qdrant[fastembed] resolves on 3.10.
|
||||
|
||||
Reference in New Issue
Block a user