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 Skill-Ebene werden Ereignisse in die folgenden Typen unterteilt:
- Ziel. Diese Ereignisse entsprechen den Intents des Skills. Ein solches Ereignis tritt auf, wenn die Benutzereingabe in ein bestimmtes Intent aufgelöst wird.
- Vordefiniert. Dies sind Standardereignisse für typische Anwendungsfälle wie ungelöstes Intent, Antwort-Intent und Dialogfehler.
- Ablauf beenden - Aktion. Dies sind Ereignisse, die Sie selbst definieren und die durch Aktionen in Endflussstatus ausgelöst werden können (sowohl Status, die die Komponente "Endfluss" verwenden, als auch Status, die den Ablauf implizit beenden).
Auf Ablaufebene werden Ereignisse in folgende Typen unterteilt:
- Systemübergänge. Dies sind 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 in der Regel Komponentenübergangsaktionen zugewiesen werden. Wenn der Ablauf einen solchen Übergang erreicht, wird das entsprechende Ereignis ausgelöst, und der dem Ereignis zugeordnete Status wird aufgerufen.
Integrierte Ereignisse für den Hauptfluss
Ereignis | Wenn gefeuert | Wie kann man |
---|---|---|
Skill starten | Wenn ein Skill zum ersten Mal beginnt. | Ordnen Sie einen benutzerdefinierten Ablauf zu, um beispielsweise Backend-Systeme zu initiieren oder ein Hilfemenü anzuzeigen. |
Dialogfehler | Wenn während einer Unterhaltung ein Fehler von einer Komponente ausgelöst wird. Dieses Ereignis kann auch ausgelöst werden, wenn ein Fehler in einem anderen Ablauf vorliegt und der Dialogfehler-Systemübergang dieses Ablaufs nicht zugeordnet ist. | Zuordnung zu einem benutzerdefinierten Fehlerbehandlungsablauf. 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.
|
Antwortzweck | Wenn ein Antwort-Intent aufgelöst wird. | Zuordnung zu einem benutzerdefinierten Ablauf für Antwort-Intents. |
Ungelöster Zweck | Wenn das Benutzer-Intent nicht aufgelöst ist. | Zuordnung zu einem benutzerdefinierten Hilfeablauf. |
Hilfe zum digitalen Assistenten | Wenn der Benutzer eine Hilfeanfrage ausdrückt. 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. | Zuordnung zu einem benutzerdefinierten Hilfeablauf. |
Digital Assistant - Willkommen | Wenn der Benutzer den Kontakt mit dem digitalen Assistenten initiiert. Dies gilt nur, wenn der Benutzer expliziten Aufruf verwendet hat, um über einen digitalen Assistenten auf den Skill zuzugreifen, aber kein Intent ausgedrückt hat. | Zuordnung zu einem benutzerdefinierten Willkommens- oder Hilfeablauf. |
Durch die Angabe von Abläufen für die Willkommensereignisse "Digital Assistant-Hilfe" und "Digital Assistant" überschreiben Sie das Verhalten für die Hilfe- und unresolvedIntent-System-Intents des digitalen Assistenten nicht vollständig. Wenn Sie dieses Verhalten universell ändern möchten, tun Sie dies in den Einstellungen des digitalen Assistenten. Siehe Status für die 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 Out-of-Order-Nachrichten behandeln.
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 zuzuordnende Ereignis den Status, dem Sie es zuordnen möchten.
Dieser Status ist in der Regel eine Invoke Flow-Komponente, die auf den Utilityfluss zur Verarbeitung des Ereignisses verweist. Siehe Einen Ablauf aus einem anderen Ablauf aufrufen.
Im Folgenden finden Sie die Ereignisse, die Sie als Systemübergänge in einem Ablauf zuordnen können.
Ereignis | Wenn gefeuert | Wie kann man |
---|---|---|
Benutzer berechtigen | Wenn ein Status erreicht wird, dessen Status Autorisierung erforderlich in true aufgelöst wird.
|
Zuordnung zu einer Invoke Flow-Komponente, die einen Autorisierungsfluss aufruft. |
Dialogfehler | In der Konversation ist ein unerwarteter Fehler aufgetreten. |
Zuordnung zu einer Invoke Flow-Komponente, 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 für den Hauptablauf "Dialogfehler" zugeordnet ist. Wenn Dialogfehler weder für den Ablauf noch für den Hauptablauf zugeordnet ist, gibt der Skill die Standardfehlermeldung ( |
Out-of-Order-Nachricht | Der Benutzer wählt eine Option aus einer vorherigen Nachricht in der Konversation anstelle der aktuellen Nachricht aus. | Zuordnung zu einer Invoke Flow-Komponente, die einen Flow aufruft, den Sie für die Verarbeitung von Out-of-Order-Nachrichten angegeben haben. |
Unerwartete Benutzereingabe | Der Benutzer gibt eine Texteingabe an, anstatt eine der in der Nachricht angegebenen Optionen auszuwählen. | Zuordnung zu einer Invoke Flow-Komponente, die einen Flow aufruft, den Sie für die Verarbeitung unerwarteter Eingaben angegeben haben. |
Ereignishören und auslösen
Wenn Sie über verschachtelte Flows verfügen (Flows mit Subflows):
- Der aktuelle Ablauf horcht auf integrierte und Endflussaktionsereignisse und löst diese aus.
- Der Ablauf Aufrufen hört nur auf Ereignisse von Endablaufaktionen, die vom aktuellen Ablauf ausgelöst werden. Wenn dann der Subflow, der ein Endflussaktionsereignis ausgelöst hat, beendet ist, wirkt der übergeordnete Ablauf auf das ausgelöste Ereignis.
Das primäre Beispiel hierfür ist, wenn die Eigenschaft Aktion eines Subflusses ein Endflussaktionsereignis angibt.