Ereignisse und Übergänge
In Dialogabläufen, die mit Visual Flow Designer entwickelt wurden, werden Ereignisse verwendet, um eine Unterhaltung an Abläufe oder Zustände innerhalb von Abläufen weiterzuleiten.
Auf der Ebene des Skills werden Ereignisse in die folgenden Typen unterteilt:
- Intent. Diese Ereignisse entsprechen den Intents des Skills. Ein solches Ereignis tritt auf, wenn die Benutzereingabe in ein bestimmtes Intent aufgelöst wird.
- Integriert. Dies sind Standardereignisse für typische Anwendungsfälle wie nicht aufgelöstes Intent, Antwort-Intent und Dialogfehler.
- Ablaufende Aktion. Dies sind Ereignisse, die Sie selbst definieren und die durch Aktionen in Endflussstatus ausgelöst werden können (sowohl Zustände, die die Komponente "Endfluss" verwenden, als auch Zustände, die den Ablauf implizit beenden).
Auf Ablaufebene werden Ereignisse in folgende Typen unterteilt:
- Systemübergänge. Hierbei handelt es sich um integrierte Ereignisse für typische Anwendungsfälle wie ungelöste Benutzereingaben, erforderliche Autorisierung und Fehler.
- Benutzerdefinierte Übergänge. Dies sind Ereignisse, die Sie selbst angeben können und die normalerweise Aktionen für Komponentenübergänge zugewiesen werden. Wenn der Flow einen solchen Übergang erreicht, wird das entsprechende Ereignis ausgelöst, und der dem Ereignis zugeordnete Status wird aufgerufen.
Integrierte Ereignisse für den Hauptablauf
Ereignis | Wenn gefeuert | Verwendung |
---|---|---|
Qualifikation starten | Wenn ein Skill zum ersten Mal beginnt. | Ordnen Sie einen benutzerdefinierten Ablauf zu, um beispielsweise Backend-Systeme zu aktivieren oder ein Hilfemenü anzuzeigen. |
Dialogfehler | Wenn eine Komponente während einer Konversation einen Fehler auslöst. Dieses Ereignis kann auch ausgelöst werden, wenn ein Fehler in einem anderen Ablauf auftritt und der Systemübergang "Dialogfehler" dieses Ablaufs nicht zugeordnet ist. | Zu einem benutzerdefinierten Fehlerbehandlungsablauf zuordnen Wenn dieses Ereignis ausgelöst wird, aber keine Zuordnung vorhanden ist, wird der aktuelle Ablauf beendet, und der Skill gibt die Standardfehlermeldung ("Oops! I’m encountering a spot of trouble ") aus.
|
Antwort-Intent | Wenn ein Antwort-Intent aufgelöst wird. | Ordnen Sie einen benutzerdefinierten Ablauf für Antwort-Intents zu. |
Ungelöstes Intent | Wenn das Benutzer-Intent nicht aufgelöst ist. | Zu einem benutzerdefinierten Hilfeablauf zuordnen. |
Hilfe zum digitalen Assistenten | Wenn der Benutzer eine Hilfeanfrage ausgibt. Dies gilt nur, wenn der Benutzer über einen digitalen Assistenten auf den Skill zugegriffen hat und sich der Skill im aktuellen Kontext des digitalen Assistenten befindet. | Zu einem benutzerdefinierten Hilfeablauf zuordnen. |
Willkommen beim digitalen Assistenten | Wenn der Benutzer den Kontakt mit dem digitalen Assistenten initiiert. Dies gilt nur, wenn der Benutzer einen expliziten Aufruf verwendet hat, um über einen digitalen Assistenten auf den Skill zuzugreifen, aber kein Intent ausgedrückt hat. | Zu einem benutzerdefinierten Willkommens- oder Hilfeablauf zuordnen. |
Wenn Sie Abläufe für die Ereignisse "Hilfe für digitalen Assistenten" und "Willkommen für digitalen Assistenten" angeben, überschreiben Sie das Verhalten für die Hilfe des digitalen Assistenten und die System-Intents unresolvedIntent nicht vollständig. Wenn Sie dieses Verhalten universell ändern möchten, geschieht dies in den Einstellungen des digitalen Assistenten. Siehe Statusangaben für System-Intents eines digitalen Assistenten angeben.
Systemübergänge für Abläufe
Für jeden Ablauf können Sie Systemübergänge nutzen, um zu definieren, wo Sie Ereignisse wie Dialogfehler und Meldungen außerhalb der Reihenfolge verarbeiten.
So definieren Sie den Status, der für die Verarbeitung eines bestimmten Ereignisses verwendet wird:
- Scrollen Sie auf der Registerkarte Konfiguration des Ablaufs nach unten, und blenden Sie den Abschnitt Ereigniszuordnungen ein.
Der Unterabschnitt Systemübergänge wird angezeigt.
- Wählen Sie für das Ereignis, das Sie zuordnen möchten, den Status aus, dem Sie es zuordnen möchten.
Dieser Status wäre in der Regel eine Invoke-Flow-Komponente, die auf den Utility-Flow zur Verarbeitung des Ereignisses verweist. Siehe Einen Ablauf aus einem anderen Ablauf aufrufen.
Im Folgenden werden die Ereignisse aufgeführt, die Sie als Systemübergänge in einem Ablauf zuordnen können.
Ereignis | Wenn gefeuert | Verwendung |
---|---|---|
Benutzer berechtigen | Wenn ein Status erreicht wird, in dem der Status Autorisierung erforderlich in true aufgelöst wird.
|
Ordnen Sie eine Invoke Flow-Komponente zu, die einen Autorisierungsablauf aufruft. |
Dialogfehler | In der Unterhaltung ist ein unerwarteter Fehler aufgetreten. |
Ordnen Sie eine Invoke Flow-Komponente zu, die einen Ablauf zur Fehlerbehandlung aufruft. Wenn dieses Ereignis nicht zugeordnet ist und im Ablauf ein Fehler auftritt, wird der Fehlerbehandlungsablauf aufgerufen, der dem integrierten Ereignis "Dialogfehler" für den Hauptfluss zugeordnet ist. Wenn der Dialogfehler weder für den Ablauf noch für den Hauptfluss zugeordnet wird, gibt der Skill die Standardfehlermeldung ( |
Nachricht für Out-of-Order | Der Benutzer wählt eine Option aus einer vorherigen Nachricht in der Unterhaltung und nicht aus der aktuellen Nachricht aus. | Ordnen Sie eine Invoke Flow-Komponente zu, die einen Ablauf aufruft, den Sie für die Verarbeitung von Out-of-Order-Nachrichten angegeben haben. |
Unerwartete Benutzereingabe | Der Benutzer stellt eine Texteingabe bereit, anstatt eine der in der Nachricht angegebenen Optionen auszuwählen. | Ordnen Sie eine Invoke Flow-Komponente zu, die einen Ablauf aufruft, den Sie zur Behandlung unerwarteter Eingaben angegeben haben. |
Ereignis-Listening und Triggering
Wenn verschachtelte Flows (Flows mit Subflows) vorhanden sind:
- Der aktuelle Ablauf überwacht und löst integrierte und Endflowaktionsereignisse aus.
- Der Aufruffluss horcht nur auf Ereignisse mit Endflussaktionen, die vom aktuellen Ablauf ausgelöst werden. Wenn der Subflow, der ein Endflow-Aktionsereignis ausgelöst hat, beendet ist, wirkt sich der übergeordnete Ablauf auf das ausgelöste Ereignis aus.
Das primäre Beispiel hierfür ist, wenn die Eigenschaft Aktion eines Subflows ein Ereignis für eine Endflow-Aktion angibt.