É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é. |