مساعد افتراضي
تيبسكريبت
عند بدء حوار ، ثم ابدأ مهارة من هذا الحوار لا يتم تسجيلها بشكل صحيح في المكدس. عندما يستخدم المستخدم مقاطعة "الإلغاء" ، لا تتلقى المهارة نهاية المحادثة لإعادة تعيينها.
إنشاء مهارة و VA. ابدأ المهارة من "حوار الصعود إلى VA. حاول إلغاء المهارة باستخدام المقاطعة وتحقق مما إذا كانت المهارة تتلقى نهاية المحادثة
بدأت مجموعة حوارات المهارة في مربع حوار فرعي
[{id: 'MainDialog'،
الحالة: {الخيارات: {} ، القيم: [الكائن] ، مؤشر الخطوة: 1}} ،
{id: 'TextPrompt'، state: {options: [Object]، state: {}}}،
{المعرف: "TransferDialog2"،
الحالة: {حوارات: [كائن]} ،
الإصدار: '-43530585'}]
مجموعة مهارات الحوار بدأت من الحوار الرئيسي
[{id: 'MainDialog'،
الحالة: {الخيارات: {} ، القيم: [الكائن] ، مؤشر الخطوة: 2}} ،
{id: 'dlpskill' ، الحالة: {}}]
شكرًا لك @ tomSauret847 على الإبلاغ عن هذه المشكلة! بمجرد حصولنا على أي تحديث سنعود إليك 😊.
مرحبا @ tomSauret847! لم ننجح في محاولة إعادة إظهار هذه المشكلة.
لدينا بعض الأسئلة فيما يتعلق بالخطوات الخاصة بك.
TransferDialog2
؟ هل هو مرادف لـ onboardingDialog
؟لاحظنا أن هناك عملية تحقق في طريقة interruptDialog
للحوار الرئيسي لـ VA ، والتي تتحول فقط إلى مهارة أخرى إذا كان مربع الحوار الحالي ينتمي إلى مهارة.
في حالة onboardingDialog
إرجاع خطأ ، وبالتالي لا يتم مقاطعته لبدء نموذج Skill.
هذه هي بيئتنا:
لقد اتخذنا الخطوات التالية لإعادة إظهار المشكلة:
onboardingDialog
لـ VAonboardingDialog
شكرا!
حاليًا لدينا تعيين نقل الوكيل المباشر كمهارة لتكون قادرًا على التصعيد إلى وكيل مباشر إذا لم يتمكن الروبوت من حل مشكلة العملاء (TransferDialog2). نحتاج إلى إجراء بعض التحقق من الصحة للتأكد من نقل العميل إلى قائمة انتظار الدردشة الصحيحة وهذا هو السبب في أننا قمنا بتضمين ذلك في مربع حوار مشابه لمربع حوار الإعداد. أستدعي مهارة نقل الوكيل بالشفرة التالية في حوار النقل.
const identifiedSkill: IEnhancedBotFrameworkSkill | undefined = this.skillsConfig.skills.get('agenttransfer');
if (identifiedSkill !== undefined) {
await this.activeSkillProperty.set(sc.context, identifiedSkill);
return sc.beginDialog('agenttransfer', skillDialogArgs);
سيبدأ المساعد الافتراضي المهارة ويعيد توجيه جميع رسائل العملاء إلى المهارة ، ولكن إذا قام العميل بتشغيل "مربع حوار الإلغاء" ، فلن يرسل المساعد الافتراضي نهاية المحادثة إلى المهارة للسماح لنا بتنظيف وإنهاء المهارة. لقد أعدت إنتاج الخطوات ولكنك لم تلغ المهارة في إعادة الإنتاج. هذا هو المكان الذي تكمن فيه مشكلتنا في القدرة على تلقي EOC في مهارة تنظيف الموارد المستخدمة وإغلاقها.
أنا أستخدم TypeScript VA
مهارة TypeScript
لقد قمت بتحديث كليهما بناءً على التغييرات التي تم نشرها في الفرع "التالي" من الريبو للتأكد من تحديثهما
يتم تشغيل المهارة وتعمل بشكل صحيح ، ولا تتلقى EOC عندما يختار العميل الإلغاء من جميع الحوارات النشطة.
شكرا @ tomSauret847 لجميع المعلومات 😊.
سنستمر في إعادة إظهار المشكلة ، وسنخبرك بأي تحديث.
@ tomSauret847 ، نريد أن نؤكد لك أننا فهمنا المشكلة بشكل صحيح.
بناءً على ما قلته في تعليقك الأخير ، سنعمل على إعادة إنشاء السيناريو التالي:
onboardingDialog
حتى يستدعي نموذج المهارة. سنبني تعديلاتنا على المقتطف المشترك.هذا هو مدى فهم أن سير العمل الخاص بك.
شكرًا VictorGrycuk هذا هو سير العمل الصحيح للسيناريو الذي نقوم بتنفيذه. يمكننا الحصول على المهارة للعمل بشكل صحيح أثناء المحادثة ، ولكن عندما يقوم العميل بالإلغاء ، لن يتم إعادة تعيين المهارة لأنها لا تتلقى أبدًا نهاية المحادثة.
التعليق الأكثر فائدة