مقدمة
تدعم تدفقات CrewAI بث المخرجات، مما يتيح لك استلام تحديثات فورية أثناء تنفيذ تدفقك. تمكّنك هذه الميزة من بناء تطبيقات متجاوبة تعرض النتائج تدريجياً وتوفر تحديثات تقدم حية وتخلق تجربة مستخدم أفضل لسير العمل طويلة التشغيل.كيف يعمل بث التدفق
عند تفعيل البث في تدفق، يلتقط CrewAI ويبث المخرجات من أي أطقم أو استدعاءات LLM أو أدوات أو أحداث دورة حياة داخل التدفق. يقدم البث عناصرStreamFrame مرتبة تحتوي على محتوى قابل للطباعة وبيانات حدث مهيكلة مع تقدم التنفيذ.
تفعيل البث
لتفعيل البث، عيّن خاصيةstream إلى True في فئة التدفق الخاصة بك:
Code
البث المتزامن
عند استدعاءkickoff() على تدفق مع تفعيل البث، يُرجع جلسة stream تنتج عناصر StreamFrame مرتبة:
Code
معلومات عنصر البث
يوفر كل عنصر محتوى قابلاً للطباعة وبيانات حدث مهيكلة:Code
الوصول إلى خصائص البث
توفر جلسة stream خصائص وطرق مفيدة:Code
البث غير المتزامن
للتطبيقات غير المتزامنة، استخدمkickoff_async() مع التكرار غير المتزامن:
Code
البث مع التدفقات متعددة الخطوات
يعمل البث بسلاسة عبر خطوات تدفق متعددة، بما في ذلك التدفقات التي تنفذ أطقم متعددة:Code
مثال عملي: لوحة معلومات التقدم
إليك مثالاً كاملاً يوضح كيفية بناء لوحة معلومات تقدم مع البث:Code
البث مع إدارة الحالة
يعمل البث بشكل طبيعي مع إدارة حالة التدفق:Code
حالات الاستخدام
بث التدفق ذو قيمة خاصة لـ:- سير العمل متعددة المراحل: عرض التقدم عبر مراحل البحث والتحليل والتوليف
- خطوط الأنابيب المعقدة: توفير رؤية لتدفقات معالجة البيانات طويلة التشغيل
- التطبيقات التفاعلية: بناء واجهات مستخدم متجاوبة تعرض النتائج الوسيطة
- المراقبة والتصحيح: مراقبة تنفيذ التدفق وتفاعلات الأطقم في الوقت الفعلي
- تتبع التقدم: إظهار المرحلة الحالية من سير العمل للمستخدمين
- لوحات المعلومات الحية: إنشاء واجهات مراقبة لتدفقات الإنتاج
قنوات إطارات البث
ينتج بث التدفق عناصرStreamFrame عبر عدة قنوات:
إطارات LLM
محتوى نصي قياسي من استجابات LLM:Code
إطارات الأدوات
معلومات حول استدعاءات الأدوات داخل التدفق:Code
معالجة الأخطاء
التعامل مع الأخطاء بأناقة أثناء البث:Code
الإلغاء وتنظيف الموارد
تدعم جلسة stream الإلغاء السلس بحيث يتوقف العمل الجاري فوراً عند انقطاع اتصال المستهلك.مدير السياق غير المتزامن
Code
الإلغاء الصريح
Code
streaming.is_cancelled و streaming.is_completed بقيمة True. كل من aclose() و close() متساويان القوة.
ملاحظات مهمة
- يفعّل البث تلقائياً بث LLM لأي أطقم مستخدمة داخل التدفق
- يجب التكرار عبر جميع عناصر stream قبل الوصول إلى خاصية
.result - يعمل البث مع كل من حالة التدفق المنظمة وغير المنظمة
- يلتقط بث التدفق المخرجات من جميع الأطقم واستدعاءات LLM في التدفق
- يتضمن كل إطار سياق حدث مهيكلاً مثل القناة والنوع والنطاق والحمولة
- يضيف البث حملاً ضئيلاً لتنفيذ التدفق
الدمج مع تصور التدفق
يمكنك دمج البث مع تصور التدفق لتوفير صورة كاملة:Code
