استخدم سير العمل في الشيفرة
بعد تصميم واختبار سير عمل في مصمم بصري Microsoft Foundry، يمكنك دمجه في تطبيقاتك باستخدام مجموعة تطوير المشاريع الذكاء الاصطناعي Azure (SDK). هذا يسمح لك بتضمين الأتمتة المدفوعة بسير العمل في تطبيقات الويب، وواجهات برمجة التطبيقات (APIs)، وخدمات الخلفية، وحلول البرمجيات الأخرى.
يتم إنشاء سير العمل في بوابة Foundry باستخدام المصمم البصري، الذي يولد تعريف YAML الأساسي. بمجرد حفظ سير عمل في مشروعك، يمكنك استدعائه برمجيا بالإشارة إلى اسمه. يمكنك أيضا تحميل تعريف YAML الخاص بسير العمل من البوابة وإدراجه في قاعدة الكود الخاصة بك.
استدعاء سير عمل
قبل تشغيل سير العمل، أنشئ اتصالا بمشروع Microsoft Foundry الخاص بك باستخدام .AIProjectClient يتولى هذا العميل المصادقة ويوفر الوصول إلى واجهة برمجة التطبيقات المتوافقة مع OpenAI لتنفيذ المحادثات واستدعاء سير العمل. لتشغيل سير عمل موجود في مشروعك، أنشئ محادثة واستدعي سير العمل بالاسم.
# Reference a workflow created in the Foundry portal
workflow_name = "triage-workflow"
# Create a conversation context for the workflow
conversation = openai_client.conversations.create()
# Execute the workflow, passing input to drive the workflow logic
stream = openai_client.responses.create(
conversation=conversation.id,
extra_body={"agent": {"name": workflow_name, "type": "agent_reference"}},
input="Users can't reset their password from the mobile app.",
stream=True,
)
يتيح لك هذا input المعامل تمرير رسالة أو موجه إلى سير العمل، والتي يمكن لسير العمل استخدامها لتوجيه منطقه—مثل معالجة طلب المستخدم، أو فرز تذكرة الدعم، أو الإجابة على سؤال. اعتمادا على تصميم سير العمل الخاص بك، قد يكون هذا المدخل:
- سؤال مستخدم يقوم الوكلاء بتحليله والرد عليه
- وصف تذكرة دعم للتصنيف والتوجيه
- حمولة بيانات تفعل منطق المعالجة
- سلسلة فارغة تبدأ سير العمل ببساطة دون إدخال محدد
أحداث سير العمل في معالجة
عند تفعيل البث، يستقبل تطبيقك الأحداث أثناء تنفيذ سير العمل. تتيح لك هذه الأحداث عرض التقدم في الوقت الحقيقي، والتقاط مخرجات الوكلاء، والرد على إجراءات سير العمل.
for event in stream:
if event.type == "response.completed":
print("Workflow completed:")
for message in event.response.output:
if message.content:
for content_item in message.content:
if content_item.type == 'output_text':
print(content_item.text)
if (event.type == "response.output_item.done") and event.item.type == ItemType.WORKFLOW_ACTION:
print(f"Action '{event.item.action_id}' completed with status: {event.item.status}")
تشمل أنواع الفعاليات الشائعة:
| نوع الحدث | الوصف |
|---|---|
response.completed |
انتهى سير العمل من التنفيذ وأعاد ردا نهائيا |
response.output_item.done |
تم إكمال عنصر إخراج فردي (مثل إجراء سير العمل) |
من خلال مراقبة هذه الأحداث، يمكنك رؤية كيفية تقدم سير العمل في الوقت الحقيقي، أو تفعيل إجراءات خارجية بناء على حالة سير العمل. بدلا من ذلك، يمكنك اختيار الانتظار حتى يكتمل سير العمل بالكامل ومعالجة الرد النهائي دون الحاجة للبث. بالنسبة لسير العمل التي تتضمن أنماط الإنسان في الحلقة، قد يحتاج تطبيقك إلى التعامل مع التوقفات التي ينتظر فيها سير العمل مدخلات المستخدم. في هذه الحالات، يمكنك إرسال رسائل إضافية إلى المحادثة لتوفير الإدخال المطلوب واستئناف تنفيذ سير العمل.
فوائد دمج الشيفرة
دمج سير العمل في كودك يتيح عدة سيناريوهات:
| السيناريو | الميزة |
|---|---|
| تطبيقات الويب | دمج سير العمل المدفوع بالذكاء الاصطناعي مباشرة في التطبيقات التي تواجه المستخدم |
| واجهات برمجة التطبيقات والخدمات المصغرة | كشف قدرات سير العمل من خلال نقاط نهاية REST |
| معالجة الدُفعات | استدعاء سير العمل برمجيا للعمليات الجماعية |
| الاختبار والتحقق من الصحة | أتمتة اختبار سير العمل كجزء من خطوط أنابيب CI/CD |
| واجهات مخصصة | بناء واجهات مستخدم متخصصة مصممة لحالات استخدام محددة في سير العمل |
من خلال دمج تجربة التصميم البصري لبوابة Foundry مع مرونة دمج الكود، يمكنك إنشاء حلول قوية تعتمد على الذكاء الاصطناعي تتناسب بسلاسة مع بنية برمجيك الحالية.