Partager via


Événements et déclencheurs dans les dialogues adaptatifs

S’APPLIQUE À : SDK v4

Pour une présentation de cette rubrique, reportez-vous à l’article sur le concept Déclencheurs dans la documentation Composer.

Déclencheurs d’événements de module de reconnaissance

Remarque

Azure AI QnA Maker sera mis hors service le 31 mars 2025. À partir du 1er octobre 2022, vous ne pourrez plus créer de nouvelles ressources ou bases de connaissances QnA Maker. Une version plus récente de la fonctionnalité de questions et réponses est désormais disponible dans le cadre d’Azure AI Language.

La réponse aux questions personnalisées, une fonctionnalité d'Azure AI Language, est la version mise à jour du service QnA Maker. Pour plus d'informations sur la prise en charge des questions et réponses dans le kit de développement logiciel (SDK) Bot Framework, consultez Compréhension du langage naturel.

Cause de l’événement Nom du déclencheur Événement de base Description
Choisir une intention OnChooseIntent ChooseIntent Ce déclencheur est exécuté si une ambiguïté est détectée entre les intentions de plusieurs modules de reconnaissance dans un CrossTrainedRecognizerSet.
Intention reconnue OnIntent RecognizedIntent Actions à effectuer quand l’intention spécifiée est reconnue.
Intention QnAMatch OnQnAMatch RecognizedIntent Ce déclencheur est exécuté quand QnAMakerRecognizer a retourné une intention QnAMatch. L’entité @answer a la réponse QnAMaker.
Intention inconnue reconnue OnUnknownIntent UnknownIntent Actions à effectuer lorsque l’entrée utilisateur n’est pas reconnue ou qu’aucune correspondance n’est trouvée dans l’un des déclencheurs OnIntent. Vous pouvez également l’utiliser comme premier déclencheur dans votre dialogue racine à la place de OnBeginDialog pour effectuer les tâches nécessaires au premier démarrage du dialogue.

Le déclencheur OnIntent vous permet de gérer l’événement recognizedIntent. L’événement recognizedIntent est déclenché par un module de reconnaissance. À l’exception du module de reconnaissance QnA Maker, tous les modules de reconnaissance prédéfinis du kit SDK Bot Framework émettent cet événement quand ils identifient correctement une entrée utilisateur. Votre bot peut alors répondre de manière appropriée.

Si aucun événement recognizedIntent n’est capturé ou géré par un déclencheur, utilisez le déclencheur OnUnknownIntent pour capturer une intention inconnue et y répondre. Autrement dit, toute intention non gérée (y compris l’intention « aucun ») peut la déclencher, à la seule condition qu’aucune action ne soit en cours d’exécution pour le dialogue. Utilisez le déclencheur OnUnknownIntent pour intercepter et répondre lorsqu’une intention « aucun » se produit. L’utilisation du déclencheur OnIntent pour gérer une intention « aucun » peut produire des résultats inattendus.

Déclencheurs d’événements de dialogue

Les déclencheurs de dialogue gèrent les événements spécifiques au dialogue liés à son cycle de vie. Le kit SDK Bot Framework compte actuellement six déclencheurs de dialogue qui dérivent tous de la classe OnDialogEvent.

Conseil

Il ne s’agit pas de gestionnaires d’événements d’interruption normaux où les actions enfants continuent de s’exécuter une fois les actions des gestionnaires terminées. Pour tous les événements ci-dessous, le bot exécute un nouvel ensemble d’actions et met fin au tour une fois ces actions terminées.

Nom du déclencheur Événement de base Description
OnBeginDialog BeginDialog Actions à effectuer au démarrage de ce dialogue. À utiliser uniquement avec des dialogues enfants. Dans les dialogues racines, utilisez OnUnknownIntent pour effectuer des activités d’initialisation de dialogue.
OnCancelDialog CancelDialog Cet événement vous permet d’empêcher l’annulation du dialogue actuel en raison d’un dialogue enfant exécutant une action CancelAllDialogs.
OnEndOfActions EndOfActions Cet événement se produit une fois toutes les actions et tous les événements d’ambiguïté traités.
OnError Error Actions à effectuer quand un événement de dialogue Error se produit. Cet événement est similaire à OnCancelDialog en ce sens que vous empêchez le dialogue adaptatif contenant ce déclencheur de se terminer, dans ce cas en raison d’une erreur dans un dialogue enfant.
OnRepromptDialog RepromptDialog Actions à effectuer quand un événement RepromptDialog se produit.
OnDialog DialogEvents.VersionChanged

Déclencheurs d’événements d’activité

Les déclencheurs d’activité vous permettent d’associer des actions à toute activité entrante du client, par exemple le lancement d’une conversation avec le bot à la suite de l’arrivée d’un nouvel utilisateur. Vous trouverez des informations supplémentaires sur les activités dans le schéma d’activité Bot Framework.

Tous les événements d’activité ont un événement de base (ActivityReceived) et sont affinés par type d’activité. Tous les déclencheurs d’activité dérivent de la classe de base OnActivity.

Cause de l’événement ActivityType Nom du déclencheur Description
Salutations ConversationUpdate OnConversationUpdateActivity Actions à effectuer lors de la réception d’une activité conversationUpdate, lorsque le bot ou un utilisateur rejoint ou quitte une conversation.
Conversation terminée EndOfConversation OnEndOfConversationActivity Actions à effectuer à la réception d’une activité endOfConversation.
Événement reçu Event OnEventActivity Actions à effectuer à la réception d’une activité event.
Passage à l’utilisateur Handoff OnHandoffActivity Actions à effectuer à la réception d’une activité handOff.
Conversation appelée Invoke OnInvokeActivity Actions à effectuer à la réception d’une activité invoke.
L’utilisateur tape Typing OnTypingActivity Actions à effectuer à la réception d’une activité typing.

Déclencheurs d’événements de message

Les déclencheurs d’événements de message vous permettent de réagir à n’importe quel événement lié à un message, par exemple lorsque celui-ci est mis à jour (MessageUpdate), supprimé (MessageDeletion) ou fait l’objet d’une réaction (MessageReaction). Parmi les réactions courantes, citons J’aime, Cœur, Rire, Surpris, Triste et En colère.

Les événements de message étant un type d’événement d’activité, ils ont tous un événement de base (ActivityReceived) et peuvent être affinés par type d’activité. Tous les déclencheurs de message dérivent de la classe de base OnActivity.

Cause de l’événement ActivityType Nom du déclencheur Description
Message reçu Message OnMessageActivity Actions à effectuer à la réception d’une activité de type MessageReceived.
Message supprimé MessageDeletion OnMessageDeleteActivity Actions à effectuer à la réception d’une activité de type MessageDelete.
Réaction à un message MessageReaction OnMessageReactionActivity Actions à effectuer à la réception d’une activité de type MessageReaction.
Message mis à jour MessageUpdate OnMessageUpdateActivity Actions à effectuer à la réception d’une activité de type MessageUpdate.

Déclencheurs d’événements personnalisés

Vous pouvez émettre vos propres événements en ajoutant l’action EmitEvent à n’importe quel déclencheur. Vous pouvez ensuite gérer cet événement personnalisé dans n’importe quel déclencheur dans n’importe quel dialogue de votre bot en définissant un déclencheur d’événement personnalisé. Le déclencheur OnDialogEvent devient un déclencheur d’événements personnalisés quand vous définissez la propriété Event avec la même valeur que celle de la propriété EventName d’EmitEvent.

Conseil

Pour autoriser d’autres dialogues de votre bot à gérer votre événement personnalisé, définissez la propriété BubbleEvent d’EmitEvent avec la valeur true.

Cause de l’événement Nom du déclencheur Classe de base Description
Événement personnalisé OnDialogEvent OnCondition Actions à effectuer quand un événement personnalisé est détecté. Utilisez l’action Émettre un événement personnalisé pour déclencher un événement personnalisé.