Assistant virtuel
Manuscrit
Lorsque vous démarrez une boîte de dialogue, puis démarrez une compétence à partir de cette boîte de dialogue, elle n'est pas correctement enregistrée dans la pile. Lorsque l'utilisateur utilise l'interruption « annuler », la compétence ne reçoit jamais la fin de la conversation à réinitialiser.
Créez un VA et une compétence. démarrez la compétence à partir de la boîte de dialogue d'embarquement du VA. Essayez d'annuler la compétence à l'aide de l'interruption et vérifiez si la compétence reçoit la fin de la conversation
Pile de dialogue de la compétence démarrée dans une sous-boîte de dialogue
[ { id : 'MainDialog',
état : { options : {}, valeurs : [Objet], stepIndex : 1 } },
{ id : 'TextPrompt', état : { options : [Objet], état : {} } },
{ id : 'TransferDialog2',
état : { dialogues : [Objet] },
version : '-43530585' } ]
pile de compétences de dialogue démarrée à partir de la boîte de dialogue principale
[ { id : 'MainDialog',
état : { options : {}, valeurs : [Objet], stepIndex : 2 } },
{ id : 'dlpskill', état : {} } ]
Merci @tomSauret847 d' avoir signalé ce problème ! Dès que nous aurons une mise à jour, nous reviendrons vers vous .
Salut @tomSauret847 ! Nous n'avons pas réussi à essayer de reproduire ce problème.
Nous avons quelques questions concernant vos étapes de reproduction.
TransferDialog2
? Est-ce un synonyme du onboardingDialog
?Nous avons remarqué qu'il y a une validation dans la méthode interruptDialog
du MainDialog du VA, qui ne bascule vers une autre Skill que si le dialogue actuel appartient à une Skill.
Dans le cas de onboardingDialog
cela renvoie false, il n'est donc pas interrompu pour démarrer l'échantillon Skill.
Voici notre environnement :
Nous avons pris les mesures suivantes pour reproduire le problème :
onboardingDialog
du VAonboardingDialog
n'était pas terminéMerci!
Actuellement, nous avons défini notre transfert d'agent en direct comme une compétence pour pouvoir passer à un agent en direct si le bot ne peut pas résoudre le problème du client (TransferDialog2). Nous devons effectuer une validation pour nous assurer que le client est transféré vers la bonne file d'attente de discussion, c'est pourquoi nous l'avons intégré dans une boîte de dialogue similaire à la boîte de dialogue d'intégration. J'appelle la compétence agenttransfer avec le code suivant dans le transferDialog.
const identifiedSkill: IEnhancedBotFrameworkSkill | undefined = this.skillsConfig.skills.get('agenttransfer');
if (identifiedSkill !== undefined) {
await this.activeSkillProperty.set(sc.context, identifiedSkill);
return sc.beginDialog('agenttransfer', skillDialogArgs);
Le VA démarrera la Skill et transmettra tous les messages des clients à la Skill, mais si le client déclenche l'interruption "Annuler la boîte de dialogue", le VA n'enverra pas la fin de la conversation à la Skill pour nous permettre de nettoyer et de mettre fin à la Skill. Vous avez reproduit les étapes mais n'avez pas annulé la compétence dans votre reproduction. C'est là que notre problème est de pouvoir recevoir l'EOC dans la compétence pour nettoyer les ressources utilisées et les fermer.
J'utilise un TypeScript VA
Compétence TypeScript
J'ai mis à jour les deux en fonction des modifications qui ont été publiées dans la branche "suivante" du référentiel pour m'assurer qu'elles sont à jour
La compétence est déclenchée et fonctionne correctement, elle ne reçoit tout simplement pas l'EOC lorsque le client choisit d'annuler toutes les boîtes de dialogue actives.
Merci @tomSauret847 pour toutes les informations 😊.
Nous continuerons à reproduire le problème et nous vous informerons de toute mise à jour.
@tomSauret847 , nous souhaitons vous confirmer que nous avons bien compris le problème.
Sur la base de ce que vous avez dit dans votre dernier commentaire, nous allons travailler à recréer le scénario suivant :
onboardingDialog
du VA pour qu'il appelle l'exemple de compétence. Nous allons baser nos modifications sur l'extrait partagé.C'est ainsi que l'on comprend que votre flux de travail est.
Merci @VictorGrycuk C'est le flux de travail correct du scénario que nous mettons en œuvre. Nous pouvons faire en sorte que la compétence fonctionne correctement pendant la conversation, mais lorsque le client annule, la compétence ne sera pas réinitialisée car elle ne reçoit jamais la fin de la conversation.
Commentaire le plus utile