تكوين التنفيذ لوكلاء الذكاء الاصطناعي الذين تمت برمجتهم

list-menuهل لديك ملاحظات؟
توفر هذه المقالة دليلًا تفصيليًا حول تكوين التنفيذ في وكلاء الذكاء الاصطناعي المبرمجة للتعامل مع المحادثات الصوتية والرقمية.

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

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

  1. بمجرد الانتهاء من إعداد الوكيل النصي الخاص بك، حدد الردود التي تتطلب التنفيذ.

    في مثال الوكيل، يكون التنفيذ مطلوبًا لـ «TrackPackageResponse».

  2. في هذه القوالب، قم بتكوين «استجابة الحجز» التي سيتم عرضها للمستخدم أثناء تنفيذ عملية التنفيذ.

    في هذا المثال، تم تكوين استجابة احتياطية لـ «TrackPackageResponse».

  3. في التدفق، استخدم عقدة محلل البيانات لتحليل البيانات الوصفية لجلسة الوكيل ( متغير الإخراج) من استجابة وكيل الذكاء الاصطناعي للحصول على اسم الاستجابة.

    يمكنك الحصول على نموذج الإدخال لعقدة محلل البيانات عن طريق تنزيل معلومات المعاملة من الجلسات عن طريق تحديد المعاملة المناسبة واختيار قيمة مفتاح «generatedDF » من الملف الذي تم تنزيله.

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

  5. إذا كنت لا ترغب في تنزيل نموذج JSON وتحليله، فيمكنك استخدامه \$.model_state.template_keyلاسم الاستجابة واسم \$.previous_intent_model_state.intent.nameالهدف السابق.

    في مثالنا، نستخدم متغيرات التدفق «ResponseKey» و «PreviousIntent» لهذه القيم.

  6. استخدم عقدة الفرع للتحقق مما إذا كانت الاستجابة بحاجة إلى الوفاء.

    • تخرج عقدة الفرع من خلال نتيجة العقدة «لا شيء مما سبق» للاستجابات التي لا تتطلب التنفيذ.

    • في مثالنا، نظرًا لوجود حاجة للوفاء بـ «TrackPackageResponse»، تحقق من قيمة «ResponseKey» في عقدة الفرع الخاصة بنا.

  7. بالنسبة للاستجابات التي تتطلب التنفيذ، استخدم عقدة HTTP لإجراء مكالمات API خارجية.

    • يمكنك تحليل المعلومات المفيدة من استجابة عقدة HTTP في نفس العقدة عن طريق استيراد عينة والحصول على متغيرات الإخراج.

    • في هذا المثال، نحصل على «التسليم المقدر» و «حالة» الحزمة.

  8. قم بمعالجة استجابة التنفيذ باستخدام عقدة التقييم لصياغة استجابة الوكيل.

    في مثالنا، نقوم بتهيئة متغير «FulfillmentResp» وتعيين قيمته بناءً على حالة الحزمة والتسليم المقدر.

  9. أرسل استجابة التنفيذ إلى المستخدم وألحقها بالمحادثة.

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

تسليم الوكيل القائم على النية

في وقت تسليم الوكيل، تحقق من آخر هدف نشط من خلال عقدة الفرع قبل عقدة مهمة قائمة الانتظار.

تحقق من قيمة «PreviousIntent» وقم بالتفرع إلى قوائم انتظار مختلفة بناءً على متطلباتك. في هذا المثال، إذا طلب العميل تسليم الوكيل بعد نية «تعقب الحزمة»، فقم بتوجيهه إلى قائمة انتظار «Specialist». تؤدي جميع القيم الأخرى إلى التسليم إلى قائمة انتظار «الدردشة».

بالنسبة للقنوات الصوتية، يجب تنسيق التنفيذ من خلال إعادة التحكم في المحادثة إلى التدفق الصوتي من خلال الأحداث المخصصة واستئناف محادثة وكيل الذكاء الاصطناعي لاحقًا مع بيانات التنفيذ. لهذا الغرض، يتم إعادة استخدام مثال الوكيل النصي لحزم التتبع. التدفق متاح في «الاستيراد من القوالب» في مصمم تدفق مركز اتصال Webex. بالإضافة إلى التنفيذ، يقوم هذا التدفق أيضًا بتوجيه المستخدم إلى قوائم انتظار وكلاء مختلفة بناءً على نيته الأخيرة.

دليل خطوة بخطوة: الوفاء

  1. أضف نوع استجابة «حدث مخصص».

    • حدد موقع مفتاح القالب الذي تريد إضافة الحدث المخصص له. في هذه الحالة، استخدم مفتاح القالب «TrackPackageResponse».

    • أضف نوع استجابة «حدث مخصص» إلى مفتاح القالب.

  2. قم بتكوين استجابة الحدث المخصص.

    • إضافة اسم الحدث وحمولة الحدث:

      1. بالنسبة لاستجابة الحدث المخصصة، قم بتوفير اسم الحدث. في هذه الحالة، 'TrackPack_Exit'.

      2. أضف حمولة الحدث، التي تحتوي على البيانات التي سيتم تمريرها إلى التدفق. يجب أن يكون هذا بصيغة JSON. في هذا المثال، {"PackageNumber":"${entity.PackageNum}"}.

  3. استخدم حمولة الحدث في التدفق.

    • الوصول إلى البيانات الوصفية لنشاط الوكيل الافتراضي V2:
      1. في تكوين التدفق الصوتي الخاص بك، تتوفر حمولة الحدث التي أضفتها كجزء من البيانات الوصفية لنشاط Virtual Agent V2.

      2. قم بإنشاء متغير التدفق PackageNum.

      3. استخدم نشاط التحليل لتحديد البيانات الوصفية لنشاط Virtual Agent V2 كمتغير إدخال.

      4. قم بتعيين متغير الإخراج إلى «packageNum» وتعبير المسار الخاص به إلى '$.packagenum' (استنادًا إلى بنية حمولة الحدث التي تم تكوينها في استجابة الوكيل).

    • استخدم بيانات التعريف في نشاط HTTP:
      1. استخدم متغير «PackageNum» من البيانات الوصفية المعالجة في التدفق الخاص بك لتتبع الحزمة.

      2. قم باستيراد التدفق المرفق للعثور على تفاصيل نشاط HTTP.

      3. حدد متغيرات التدفق «EstimatedDelivery» وقم بتعيينها على «$». estimated_delivery'ومتغير تدفق آخر' packStatus 'وقم بتعيينه على $.status.

    • إضافة شروط استنادًا إلى نشاط HTTP:
      1. أضف نشاط شرط جديد إلى التدفق. يتم استخدام هذا النشاط للتحقق من استجابة نشاط HTTP (ما إذا كانت الحزمة موجودة وحالتها).

        في هذا المثال، {{ HTTPRequest_8l3.httpStatusCode == 404 }}يتم استخدام التعبير للتحقق من عدم العثور على أي حزمة.

  4. إضافة نشاط تعيين متغير استنادًا إلى الشروط:
    1. بالنسبة للحالة التي لا توجد بها الحزمة:

      • ضمن الفرع الذي لم يتم العثور على أي حزمة فيه، أضف نشاط Set Variable.
      • قم بتعيين packageResp (متغير تدفق آخر) إلى:

        لم يتم العثور على حزمة بهذه التفاصيل.

    2. بالنسبة للحالة التي توجد بها الحزمة:

      • ضمن الفرع الذي توجد فيه الحزمة (أي أن رمز حالة HTTP لا يساوي 404)، أضف نشاط Set Variable آخر.
      • قم بتعيين packageResp (متغير تدفق آخر) إلى:

        تم استلام الحزمة الخاصة بك. سيتم تسليمها عن طريق {{التسليم المقدر}}.

    3. أضف نشاطين آخرين من أنشطة تعيين المتغيرات لتكوين اسم الحدث وبيانات الحدث. سيتم تمرير هذه البيانات إلى نشاط Virtual Agent V2.

      • إنشاء متغيرات التدفق event_name وevent_data.

      • قم event_name TrackPack_Entry بالتعيين event_data إلى {'packageResp': '{{packageResp}}' | json}.

  5. ارجع إلى نشاط الوكيل الافتراضي V2:

    • قم بتكوين نشاط الوكيل الافتراضي V2:
      1. قم بتوصيل نشاط Set Variable النهائي بنشاط Virtual Agent V2.

      2. قم بتعيين اسم الحدث إلى {{event_name}}.

      3. قم بتعيين بيانات الحدث إلى {{event_data}}.

  6. تعامل مع الحدث الوارد في وكيلك الافتراضي:

    1. إضافة مفتاح قالب جديد:

      1. انتقل إلى علامة تبويب الردود على اللوحة اليسرى.

      2. أضف مفتاح قالب جديد باسم PackageStatus.

    2. تكوين حدث وارد:

      1. ضمن القناة الصوتية، قم بتعيين الحدث الوارد إلى TrackPack_Entry (أو أي شيء تم إرساله إلى نشاط Virtual Agent V2 في التدفق).

    3. قم بتكوين الاستجابة:

      1. قم بتعيين الاستجابة إلى: <speak><say-as interpret-as="date"> $ {Eventstore.packageresp</say-as>}. هل يمكنني مساعدتك بأي شيء آخر؟ </speak>

        تستخدم هذه الاستجابة المتغيرات المرسلة في الحمولة من التدفق. أي متغيرات يتم إرسالها كجزء من بيانات الحدث متاحة للمطورين للوصول إليها كـ $ {EventStore. < variable_name >}.

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

توجيه الوكيل بناءً على النية السابقة

  • في حالة خروج نشاط Virtual Agent V2 من خلال الإخراج «المُتصاعد»، استخدم نشاط التحليل للحصول على الهدف السابق من البيانات الوصفية للوكيل.

  • استخدم نشاط الحالة للتحقق من القيم المختلفة للهدف السابق الذي يحدد منطق قائمة الانتظار. في هذا المثال، نتحقق مما إذا كان الهدف السابق هو « حزمة التتبع».

  • قم بإرفاق مخرجات نشاط الحالة بحواف جهات اتصال قائمة الانتظار المناسبة.

هل كان هذا المقال مفيدًا؟
هل كان هذا المقال مفيدًا؟