تطوير تدفق موجه

هام

قد تتوفر بعض الميزات الموضحة في هذه المقالة فقط في المعاينة. يتم توفير هذه المعاينة دون اتفاقية على مستوى الخدمة، ولا نوصي بها لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع ⁧⁩شروط الاستخدام التكميلية لمعاينات Microsoft Azure⁧⁩.

التدفق الفوري هو أداة تطوير مصممة لتبسيط دورة التطوير بأكملها للتطبيقات الذكاء الاصطناعي التي يتم تشغيلها بواسطة نماذج اللغة الكبيرة (LLMs). يوفر التدفق السريع حلا شاملا يبسط عملية النماذج الأولية واختبارها وتكرارها ونشر تطبيقاتك الذكاء الاصطناعي.

مع تدفق المطالبة، يمكنك:

  • تنسيق التدفقات القابلة للتنفيذ باستخدام LLMs والمطالبات وأدوات Python من خلال رسم بياني مرئي.
  • اختبر التدفقات وتصحيحها وتكررها بسهولة.
  • إنشاء متغيرات المطالبة ومقارنة أدائها.

في هذه المقالة، ستتعلم كيفية إنشاء وتطوير تدفق المطالبة الأول في Azure الذكاء الاصطناعي Studio.

المتطلبات الأساسية

إنشاء تدفق المطالبة وتطويره

يمكنك إنشاء تدفق إما عن طريق استنساخ العينات المتوفرة في المعرض أو إنشاء تدفق من البداية. إذا كان لديك بالفعل ملفات تدفق في مشاركة ملف أو محلي، يمكنك أيضا استيراد الملفات لإنشاء تدفق.

لإنشاء تدفق موجه من المعرض في Azure الذكاء الاصطناعي Studio:

  1. سجل الدخول إلى Azure الذكاء الاصطناعي Studio وحدد مشروعك.

  2. من القائمة اليمنى القابلة للطي، حدد تدفق المطالبة.

  3. حدد + إنشاء.

  4. في تجانب التدفق القياسي، حدد إنشاء.

  5. في صفحة إنشاء تدفق جديد، أدخل اسم مجلد ثم حدد إنشاء.

    لقطة شاشة لتحديد وإنشاء تدفق قياسي.

  6. يتم فتح صفحة تأليف تدفق المطالبة. يمكنك البدء في تأليف التدفق الخاص بك الآن. بشكل افتراضي، ترى تدفق عينة. يحتوي هذا المثال على عقد لأدوات LLM وPython.

    لقطة شاشة لإدخال التدفق والإخراج في صفحة تحرير تدفق المطالبة.

    إشعار

    عرض الرسم البياني للتصور فقط. يظهر بنية التدفق التي تقوم بتطويرها. لا يمكنك تحرير طريقة عرض الرسم البياني مباشرة، ولكن يمكنك التكبير والتصغير والتمرير. يمكنك تحديد عقدة في طريقة عرض الرسم البياني لتمييز العقدة والانتقال إليها في طريقة عرض تحرير الأداة.

  7. اختياريا، يمكنك إضافة المزيد من الأدوات إلى التدفق. خيارات الأداة المرئية هي LLM و Prompt وPython. لعرض المزيد من الأدوات، حدد + المزيد من الأدوات.

    لقطة شاشة للمكان الذي يمكنك العثور فيه على المزيد من الأدوات في صفحة تحرير تدفق المطالبة.

  8. حدد اتصالا ونشرا في محرر أداة LLM.

    لقطة شاشة للاتصال والنشر المحددين في أداة LLM في صفحة تحرير تدفق المطالبة.

  9. حدد تشغيل لتشغيل التدفق.

    لقطة شاشة لمكان تحديد تشغيل في صفحة تحرير تدفق المطالبة.

  10. تظهر حالة تشغيل التدفق على أنها قيد التشغيل.

    لقطة شاشة للتدفق في حالة التشغيل في صفحة تحرير تدفق المطالبة.

  11. بمجرد اكتمال تشغيل التدفق، حدد View outputs لعرض نتائج التدفق.

    لقطة شاشة للمكان الذي يمكنك تحديده لعرض نتائج التدفق من صفحة تحرير تدفق المطالبة.

  12. يمكنك عرض حالة تشغيل التدفق والإخراج في قسم Outputs .

    لقطة شاشة توضح تفاصيل الإخراج.

تأليف التدفق

يتم تمثيل كل تدفق بمجلد يحتوي على ملف 'flow.dag.yaml'' وملفات التعليمات البرمجية المصدر ومجلدات النظام. يمكنك إضافة ملفات جديدة وتحرير الملفات الموجودة وحذف الملفات. يمكنك أيضا تصدير الملفات إلى محلي أو استيراد الملفات من محلي.

بالإضافة إلى التحرير المضمن للعقدة في طريقة عرض مسطحة، يمكنك أيضا تشغيل تبديل وضع الملف Raw وتحديد اسم الملف لتحرير الملف في علامة تبويب الملف الافتتاحي.

إدخال التدفق والإخراج

إدخال التدفق هو البيانات التي تم تمريرها إلى التدفق ككل. حدد مخطط الإدخال عن طريق تحديد الاسم والنوع. تعيين قيمة الإدخال لكل إدخال لاختبار التدفق. يمكنك الرجوع إلى إدخال التدفق لاحقا في عقد التدفق باستخدام ${input.[input name]} بناء الجملة.

إخراج التدفق هو البيانات التي ينتجها التدفق ككل، والذي يلخص نتائج تنفيذ التدفق. يمكنك عرض جدول الإخراج وتصديره بعد اكتمال تشغيل التدفق أو تشغيل الدفعة. حدد قيمة إخراج التدفق عن طريق الرجوع إلى إخراج العقدة الفردية للتدفق باستخدام بناء الجملة ${[node name].output} أو ${[node name].output.[field name]}.

بالإشارة إلى إخراج العقدة، يمكنك ربط العقد معا. على سبيل المثال، يمكنك الرجوع إلى إخراج عقدة LLM في إدخال عقدة Python، بحيث يمكن أن تستهلك عقدة Python إخراج عقدة LLM، وفي عرض الرسم البياني يمكنك أن ترى أن العقدتين مرتبطتان معا.

تمكين التحكم الشرطي في التدفق

لا يقدم تدفق المطالبة طريقة مبسطة فقط لتنفيذ التدفق، ولكنه يجلب أيضا ميزة قوية للمطورين - التحكم الشرطي، والذي يسمح للمستخدمين بتعيين شروط لتنفيذ أي عقدة في التدفق.

في جوهره، يوفر التحكم الشرطي القدرة على إقران كل عقدة في تدفق بتنشيط التكوين. هذا التكوين هو في الأساس عبارة "متى" تحدد متى يجب تنفيذ عقدة. تتحقق قوة هذه الميزة عندما يكون لديك تدفقات معقدة حيث يعتمد تنفيذ مهام معينة على نتيجة المهام السابقة. باستخدام عنصر التحكم الشرطي، يمكنك تكوين العقد المحددة الخاصة بك للتنفيذ فقط عند استيفاء الشروط المحددة.

على وجه التحديد، يمكنك تعيين تكوين التنشيط لعقدة عن طريق تحديد الزر تنشيط التكوين في بطاقة العقدة. يمكنك إضافة عبارة "when" وتعيين الشرط. يمكنك تعيين الشروط عن طريق الرجوع إلى إدخال التدفق أو إخراج العقدة. على سبيل المثال، يمكنك تعيين الشرط ${input.[input name]} كقيمة محددة أو ${[node name].output} كقيمة محددة.

إذا لم يتم استيفاء الشرط، يتم تخطي العقدة. يتم عرض حالة العقدة على أنها "تجاوز".

اختبار سير المهمة

يمكنك اختبار التدفق بطريقتين:

  • تشغيل عقدة واحدة.
    • لتشغيل عقدة واحدة، حدد أيقونة تشغيل على العقدة في طريقة عرض مسطحة. بمجرد اكتمال التشغيل، يمكنك التحقق بسرعة من النتيجة في قسم إخراج العقدة.
  • تشغيل التدفق بأكمله.
    • لتشغيل التدفق بأكمله، حدد الزر Run في الجزء العلوي الأيسر.

عرض نتيجة الاختبار والتتبع (معاينة)

لتشغيل التدفق بأكمله، بعد تنفيذ التدفق، يمكنك مشاهدة حالة التشغيل في شعار التشغيل. ثم يمكنك تحديد عرض التتبع لعرض التتبع للتحقق من النتيجة ومراقبة تنفيذ التدفق، حيث يمكنك مشاهدة إدخال وإخراج التدفق بأكمله وكل عقدة، جنبا إلى جنب مع معلومات أكثر تفصيلا لتصحيح الأخطاء. وهي متوفرة أثناء التشغيل وبعد اكتمال التشغيل.

فهم طريقة عرض التتبع

يتم تعيين نوع التتبع لتدفق المطالبة على أنه Flow. ضمن طريقة عرض التتبع، يمكن ملاحظة التسلسل الواضح للأدوات المستخدمة لتنسيق التدفق.

يمثل كل نطاق من المستوى 2 ضمن جذر التدفق عقدة في التدفق، يتم تنفيذها في شكل استدعاء دالة، ومن ثم يتم تعريف نوع النطاق على أنه دالة. يمكنك مشاهدة مدة تنفيذ كل عقدة في شجرة الامتداد.

في شجرة الامتداد، يمكن التعرف على استدعاءات LLM بسهولة على أنها امتداد LLM . توفر هذه المعلومات حول مدة استدعاء LLM وتكلفة الرمز المميز المقترنة.

من خلال تحديد نطاق، يمكنك مشاهدة المعلومات التفصيلية على الجانب الأيمن. وهذا يشمل الإدخال والإخراج، وJson الخام، والاستثناء، وكلها مفيدة للمراقبة وتصحيح الأخطاء.

 لقطة شاشة توضح تفاصيل التتبع.

إشعار

في SDK لتدفق المطالبة، قمنا بتعريف أنواع الامتدادات الخدمية، بما في ذلك LLM والدالة والتضمين والاسترداد والتدفق. وينشئ النظام تلقائيا امتدادات مع معلومات التنفيذ في السمات والأحداث المعينة.

لمعرفة المزيد حول أنواع الامتدادات، راجع تتبع النطاق.

بعد اكتمال تشغيل التدفق، للتحقق من النتائج، يمكنك تحديد الزر عرض نتائج الاختبار للتحقق من جميع سجلات التشغيل التاريخية في قائمة. بشكل افتراضي، يتم عرض سجلات التشغيل التي تم إنشاؤها في آخر 7 أيام. يمكنك تحديد عامل التصفية لتغيير الشرط.

لقطة شاشة لنتيجة اختبار التدفق.

يمكنك أيضا تحديد اسم سجل التشغيل لعرض المعلومات التفصيلية في طريقة عرض التتبع.

تطوير تدفق الدردشة

تم تصميم تدفق الدردشة لتطوير تطبيقات المحادثة، بناء على قدرات التدفق القياسي وتوفير دعم محسن لمدخلات/مخرجات الدردشة وإدارة محفوظات الدردشة. باستخدام تدفق الدردشة، يمكنك بسهولة إنشاء روبوت دردشة يعالج إدخال الدردشة وإخراجها.

في صفحة تأليف تدفق الدردشة، يتم وضع علامة على تدفق الدردشة بتسمية "دردشة" لتمييزه عن التدفق القياسي وتدفق التقييم. لاختبار تدفق الدردشة، حدد زر "الدردشة" لتشغيل مربع دردشة للمحادثة.

إدخال/إخراج الدردشة ومحفوظات الدردشة

أهم العناصر التي تميز تدفق الدردشة عن التدفق القياسي هي إدخال الدردشة ومحفوظات الدردشة وإخراج الدردشة.

  • إدخال الدردشة: يشير إدخال الدردشة إلى الرسائل أو الاستعلامات المرسلة من قبل المستخدمين إلى روبوت الدردشة. تعد معالجة إدخال الدردشة بشكل فعال أمرا بالغ الأهمية لمحادثة ناجحة، لأنها تتضمن فهم نوايا المستخدم، واستخراج المعلومات ذات الصلة، وتشغيل الاستجابات المناسبة.
  • محفوظات الدردشة: محفوظات الدردشة هي سجل جميع التفاعلات بين المستخدم وتوبوت الدردشة، بما في ذلك مدخلات المستخدم والمخرجات التي تم إنشاؤها الذكاء الاصطناعي. يعد الحفاظ على محفوظات الدردشة أمرا ضروريا لتتبع سياق المحادثة وضمان أن الذكاء الاصطناعي يمكن أن يولد استجابات ذات صلة بالسياق.
  • إخراج الدردشة: يشير إخراج الدردشة إلى الرسائل التي تم إنشاؤها الذكاء الاصطناعي والتي يتم إرسالها إلى المستخدم استجابة لمدخلاته. يعد إنشاء إخراج دردشة مناسب سياقيا وجذابا أمرا حيويا لتجربة مستخدم إيجابية.

يمكن أن يحتوي تدفق الدردشة على مدخلات متعددة، ومحفوظات الدردشة وإدخال الدردشة مطلوبة في تدفق الدردشة.

  • في قسم مدخلات تدفق الدردشة، يمكن وضع علامة على إدخال التدفق كإدخل دردشة. ثم يمكنك ملء قيمة إدخال الدردشة عن طريق الكتابة في مربع الدردشة.

  • يمكن أن يساعد تدفق المطالبة المستخدم على إدارة محفوظات الدردشة. في chat_history قسم Inputs محجوز لتمثيل محفوظات الدردشة. يتم تخزين جميع التفاعلات في مربع الدردشة، بما في ذلك مدخلات دردشة المستخدم، ومخرجات الدردشة التي تم إنشاؤها، ومدخلات ومخرجات التدفق الأخرى، تلقائيا في محفوظات الدردشة. لا يمكن للمستخدم تعيين قيمة chat_history يدويا في قسم Inputs. وهي منظمة ك قائمة بالمدخلات والمخرجات:

    [
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    },
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    }
    ]
    

إشعار

القدرة على حفظ محفوظات الدردشة أو إدارتها تلقائيا هي ميزة في صفحة التأليف عند إجراء الاختبارات في مربع الدردشة. بالنسبة إلى عمليات تشغيل الدفعات، من الضروري للمستخدمين تضمين محفوظات الدردشة داخل مجموعة بيانات تشغيل الدفعة. إذا لم يكن هناك محفوظات دردشة متاحة للاختبار، فما عليك سوى تعيين chat_history إلى قائمة [] فارغة داخل مجموعة بيانات تشغيل الدفعة.

مطالبة الكاتب مع محفوظات الدردشة

يعد دمج محفوظات الدردشة في مطالباتك أمرا ضروريا لإنشاء استجابات روبوت الدردشة المدركة للسياق وإشراكها. في المطالبات، يمكنك الرجوع chat_history إلى استرداد التفاعلات السابقة. يسمح لك هذا بالإشارة إلى المدخلات والمخرجات السابقة لإنشاء استجابات ذات صلة بالسياق.

استخدم لتكرار نحوي للغة Jinja لعرض قائمة بالمدخلات والمخرجات من chat_history.

{% for item in chat_history %}
user:
{{item.inputs.question}}
assistant:
{{item.outputs.answer}}
{% endfor %}

اختبار باستخدام مربع الدردشة

يوفر مربع الدردشة طريقة تفاعلية لاختبار تدفق الدردشة من خلال محاكاة محادثة مع روبوت الدردشة الخاص بك. لاختبار تدفق الدردشة باستخدام مربع الدردشة، اتبع الخطوات التالية:

  1. حدد الزر "دردشة" لفتح مربع الدردشة.
  2. اكتب مدخلات الاختبار في مربع الدردشة واضغط على مفتاح الإدخال Enter لإرسالها إلى روبوت الدردشة.
  3. راجع استجابات روبوت الدردشة للتأكد من أنها مناسبة سياقيا ودقيقة.
  4. عرض التتبع في مكانه للمراقبة وتصحيح الأخطاء بسرعة.

الخطوات التالية