Ereignisse und Trigger in adaptiven Dialogen
GILT FÜR: SDK v4
Eine Einführung in dieses Thema finden Sie im Konzeptartikel Trigger in der Composer-Dokumentation.
Auslöser für das Erkennungsereignis
Hinweis
Azure KI QnA Maker wird am 31. März 2025 eingestellt. Ab dem 01. Oktober 2022 können Sie keine neuen QnA Maker-Ressourcen oder Wissensdatenbanken mehr erstellen. Eine neuere Version der Funktionalität „Fragen und Antworten“ ist jetzt als Teil von Azure KI Language verfügbar.
Benutzerdefiniertes Fragen und Antworten, eine Azure KI Language-Funktion, ist die aktualisierte Version des QnA Maker-Diensts. Weitere Informationen zur Unterstützung von Fragen und Antworten im Bot Framework SDK finden Sie unter Natürliches Sprachverständnis.
Ereignisursache | Triggername | Basisereignis | Beschreibung |
---|---|---|---|
Absicht wählen | OnChooseIntent |
ChooseIntent |
Dieser Auslöser wird ausgeführt, wenn mehrerer Erkennungsfunktionen in einem CrossTrainedRecognizerSet Mehrdeutigkeit bei Absichten feststellen. |
Absicht erkannt | OnIntent |
RecognizedIntent |
Auszuführende Aktionen bei Erkennen der angegebenen Absicht. |
QnAMatch-Absicht | OnQnAMatch |
RecognizedIntent |
Dieser Auslöser wird ausgeführt, wenn der QnAMakerRecognizer eine QnAMatch -Absicht zurückgegeben hat. Die Entität @answer erhält die QnAMaker -Antwort. |
Unbekannte Absicht erkannt | OnUnknownIntent |
UnknownIntent |
Auszuführende Aktionen, wenn die Benutzereingabe nicht erkannt wird oder keine Übereinstimmung in einem der Auslöser des Typs OnIntent gefunden wird. Sie können dies auch als ersten Auslöser in Ihrem Stammdialog anstelle von OnBeginDialog verwenden, um beim ersten Start des Dialogs alle erforderlichen Aufgaben auszuführen. |
Mithilfe des OnIntent
-Auslösers können Sie das recognizedIntent
-Ereignis verarbeiten. Das recognizedIntent
-Ereignis wird von der Erkennungsfunktion ausgelöst. Alle im Bot Framework SDK integrierten Erkennungsfunktionen außer die QnA Maker-Erkennungsfunktion geben dieses Ereignis aus, wenn sie eine Benutzereingabe erfolgreich identifizieren, sodass Ihr Bot entsprechend reagieren kann.
Mit dem Auslöser OnUnknownIntent
können Sie das Ereignis recognizedIntent
abfangen und reagieren, wenn es von keinem der anderen Auslöser abgefangen und verarbeitet wurde. Dies bedeutet, dass alle nicht behandelten Absichten (einschließlich „none“) dazu führen können, dass sie ausgelöst werden, aber nur, wenn derzeit keine Aktionen für das Dialogfeld ausgeführt werden. Verwenden Sie den OnUnknownIntent
Trigger, um zu erfassen und zu reagieren, wenn eine „none“-Absicht auftritt. Die Verwendung des OnIntent
Triggers zur Behandlung einer „none“-Absicht kann zu unerwarteten Ergebnissen führen.
Dialogereignisauslöser
Dialogauslöser behandeln dialogspezifische Ereignisse im Zusammenhang mit dem Lebenszyklus des Dialogs. Es gibt derzeit sechs Dialogauslöser im Bot Framework SDK, die alle von der Klasse OnDialogEvent
abgeleitet sind.
Tipp
Es handelt sich hierbei nicht um normale Unterbrechungsereignishandler, bei denen die Aktionen eines untergeordneten Handlers nach Abschluss der Aktionen des Handlers fortgesetzt werden. Bei allen folgenden Ereignissen führt der Bot eine neue Reihe von Aktionen aus und beendet den Durchgang, sobald diese Aktionen abgeschlossen sind.
Triggername | Basisereignis | Beschreibung |
---|---|---|
OnBeginDialog |
BeginDialog |
Bei Beginn dieses Dialogs auszuführende Aktionen. Nur für den Einsatz mit untergeordneten Dialogen und nicht für Ihren Stammdialog geeignet. In Stammdialogen verwenden Sie OnUnknownIntent , um Aktivitäten zur Initialisierung von Dialogen durchzuführen. |
OnCancelDialog |
CancelDialog |
Mit diesem Ereignis können Sie verhindern, dass der aktuelle Dialog aufgrund eines untergeordneten Dialogs abgebrochen wird, der die Aktion CancelAllDialogs ausführt. |
OnEndOfActions |
EndOfActions |
Dieses Ereignis tritt ein, sobald alle Aktionen und mehrdeutigen Ereignisse verarbeitet wurden. |
OnError |
Error |
Auszuführende Aktion, wenn das Dialogereignis Error auftritt. Dieses Ereignis ähnelt OnCancelDialog dahingehend, dass Sie adaptiven Dialog, der diesen Trigger beinhaltet, hindern, beendet zu werden––in diesem Fall aufgrund eines Fehlers in einem untergeordneten Dialog. |
OnRepromptDialog |
RepromptDialog |
Auszuführende Aktionen, wenn das RepromptDialog -Ereignis eintritt. |
OnDialog |
DialogEvents.VersionChanged |
Aktivitätsereignisauslöser
Mithilfe von Auslösern für Aktivitäten können Sie Aktionen mit jeder vom Client eingehenden Aktivität verknüpfen, z. B. wenn ein neuer Benutzer hinzukommt und der Bot eine neue Unterhaltung beginnt. Weitere Informationen zu Aktivitäten finden Sie im Bot Framework Activity-Schema.
Alle Aktivitätsereignisse haben das Basisereignis ActivityReceived
und werden durch ihren Aktivitätstyp weiter präzisiert. Die Basisklasse, von der alle Aktivitätsauslöser abgeleitet werden, ist OnActivity
.
Ereignisursache | ActivityType | Triggername | Beschreibung |
---|---|---|---|
Begrüßung | ConversationUpdate |
OnConversationUpdateActivity |
Aktionen, die beim Empfang einer conversationUpdate Aktivität ausgeführt werden sollen, wenn der Bot oder ein Benutzer einer Unterhaltung beitritt oder diese verlässt. |
Konversation beendet | EndOfConversation |
OnEndOfConversationActivity |
Auszuführende Aktionen bei Eingang einer Aktivität des Typs endOfConversation . |
Ereignis empfangen | Event |
OnEventActivity |
Auszuführende Aktionen bei Eingang einer Aktivität des Typs event . |
Übergabe an Person | Handoff |
OnHandoffActivity |
Auszuführende Aktionen bei Eingang einer Aktivität des Typs handOff . |
Konversation aufgerufen | Invoke |
OnInvokeActivity |
Auszuführende Aktionen bei Eingang einer Aktivität des Typs invoke . |
Benutzer gibt Daten ein | Typing |
OnTypingActivity |
Auszuführende Aktionen bei Eingang einer Aktivität des Typs typing . |
Nachrichtenereignisauslöser
Auslöser für Nachrichtenereignisse ermöglichen Ihnen, auf jedes Nachrichtenereignis zu reagieren, z. B. wenn eine Nachricht aktualisiert (MessageUpdate
) oder gelöscht (MessageDeletion
) wird oder jemand auf eine Nachricht reagiert (MessageReaction
). Zu den häufigen Reaktionen auf Nachrichten gehören z. B. „Gefällt mir“-Markierung, Herz, Lachen, Überraschung, Traurigkeit und Wut.
Nachrichtenereignisse sind eine Art von Aktivitätsereignis, haben als solche das Basisereignis ActivityReceived
und werden durch den Aktivitätstyp weiter präzisiert. Die Basisklasse, von der alle Nachrichtenauslöser abgeleitet werden, ist OnActivity
.
Ereignisursache | ActivityType | Triggername | Beschreibung |
---|---|---|---|
Empfangene Nachricht | Message |
OnMessageActivity |
Auszuführende Aktionen bei Eingang einer Aktivität des Typs MessageReceived . |
Nachricht gelöscht | MessageDeletion |
OnMessageDeleteActivity |
Auszuführende Aktionen bei Eingang einer Aktivität des Typs MessageDelete . |
Nachrichtenantwort | MessageReaction |
OnMessageReactionActivity |
Auszuführende Aktionen bei Eingang einer Aktivität des Typs MessageReaction . |
Nachricht aktualisiert | MessageUpdate |
OnMessageUpdateActivity |
Auszuführende Aktionen bei Eingang einer Aktivität des Typs MessageUpdate . |
Trigger für benutzerdefinierte Ereignisse
Sie können Ihre eigenen Ereignisse ausgeben, indem Sie die Aktion EmitEvent einem beliebigen Auslöser hinzufügen. Anschließend können Sie dieses benutzerdefinierte Ereignis in einem beliebigen Auslöser in einem beliebigen Dialog in Ihrem Bot behandeln, indem Sie einen benutzerdefinierten Ereignisauslöser definieren. Ein benutzerdefinierter Ereignisauslöser ist der Auslöser OnDialogEvent
, der faktisch zu einem benutzerdefinierten Auslöser wird, wenn Sie die Event
-Eigenschaft auf denselben Wert wie die EventName
-Eigenschaft von EmitEvent festlegen.
Tipp
Sie können anderen Dialogen in Ihrem Bot erlauben, Ihr benutzerdefiniertes Ereignis zu behandeln, indem Sie die Eigenschaft BubbleEvent
von EmitEvent auf TRUE festlegen.
Ereignisursache | Triggername | Basisklasse | Beschreibung |
---|---|---|---|
Benutzerdefiniertes Ereignis | OnDialogEvent |
OnCondition |
Auszuführende Aktionen, wenn ein benutzerdefiniertes Ereignis erkannt wird. Sie können die Aktion Benutzerdefiniertes Ereignis ausgeben zum Auslösen eines benutzerdefinierten Ereignisses verwenden. |