Grundlagen
Der Visual Flow Designer ist ein visuelles Tool zum Entwerfen von Interaktionen zwischen einem Skill und seinen Benutzern. Die folgenden Themen enthalten die ersten Dinge, die Sie wissen müssen.
Visueller Designer
Mit Visual Flow Designer werden Dialogabläufe visuell und nicht über einen Codeeditor gestaltet. Die Verbindungen zwischen den Zuständen werden in visuellen Diagrammen dargestellt. Variablen, Parameter und Komponenteneigenschaften werden in speziellen Editoren und Dialogfeldern definiert.
Mehrere Abläufe
Im Visual Flow Designer erstellen Sie Abläufe, um die verschiedenen Teile der Unterhaltungen zu verarbeiten, für die Sie Ihren Skill entwerfen. In der Regel haben Sie:
- Der Hauptablauf, der der wichtigste Einstiegspunkt für den Skill ist und mehr eine Konfiguration als ein Ablauf ist. Der Hauptfluss enthält:
- Globale Variablen.
- Ereignisse, die Abläufen zugeordnet sind.
- Ein Ablauf für jedes reguläre Intent.
- Ein einzelner Ablauf zur Verarbeitung aller Antwort-Intents (obwohl es auch möglich ist, separate Abläufe für einzelne Antwort-Intents zu haben, wenn Sie ein Verhalten aufnehmen möchten, das für diese Antwort-Intents spezifisch ist).
- Subflows und wiederverwendbare Utilityflows (z.B. zur Authentifizierung), die von anderen Flows aufgerufen werden können.
Ereignisse
In Skills, die mit dem Visual Flow Designer erstellt wurden, wird ein Ablauf ausgelöst, wenn ein Ereignis auftritt, das diesem Ablauf zugeordnet ist. Es gibt Ereignisse für die einzelnen Intents des Skills und integrierte Ereignisse für Standardfälle (wie unerwartete Benutzereingaben und Fehler). Darüber hinaus können Sie benutzerdefinierte Ereignisse definieren, mit denen Sie Abläufe basierend auf Aktionen auslösen können, die beim Ende eines anderen Ablaufs ausgegeben werden.
Ereignisse, die auf der Skillstufe ausgelöst werden, werden Flows zugeordnet. Ereignisse, die in einem Ablauf ausgelöst werden, werden Zuständen im Ablauf zugeordnet. (Wenn Sie das Ereignis bei Dialogfehlerereignissen keinem Status im aktuellen Ablauf zugeordnet haben, wird es an den Hauptfluss propagiert, von wo aus es einem Ablauf zugeordnet ist.)
Ereignisse im Visual Flow Designer entsprechen in etwa Standardübergangsaktionen in YAML-Dialogabläufen.
Variablen, Scope und Parameter
Mit Visual Flow Designer können Sie Variablen auf der Ebene einzelner Abläufe und global definieren.
- In einzelnen Flüssen. In einem Ablauf definierte Variablen können nicht direkt außerhalb dieses Ablaufs aufgerufen werden.
Die Lebensdauer einer Strömungsvariable ist auf diesen Fluss beschränkt. Der Wert wird gelöscht, nachdem das Dialogfeld bis zum Ende des Ablaufs durchlaufen wurde. Wenn ein Benutzer später in der Session zu diesem Ablauf zurückkehrt, wird die Variable erneut initialisiert.
- Im Hauptfluss. Hier definierte Variablen verfügen über einen Skill-weiten (globalen) Geltungsbereich, d.h. sie können von allen Abläufen im Skill aufgerufen werden.
Werte für diese globalen Variablen persistieren die Session des Benutzers mit dem Skill. Die Variablen werden gelöscht, wenn die Benutzersession mit dem Skill beendet wird. Dies geschieht, wenn eines der folgenden Ereignisse eintritt:
- Der Benutzer schließt das Chat-Fenster.
- Die Session wird nach einem Zeitraum der Inaktivität wegen Timeout abgebrochen (der Wert wird auf Kanalebene definiert und beträgt in der Regel 24 Stunden).
- Im Kontext eines digitalen Assistenten beendet der Benutzer den Skill oder erreicht einen Status, der einen anderen Skill direkt aufruft.
Hinweis
Wenn der Benutzer eine Unterhaltung mit einer nicht sequenziellen Eingabe unterbricht und vorübergehend an einen anderen Skill weitergeleitet wird, bleibt der digitale Assistent im Kontext des ursprünglichen Skills und seine Variablen werden nicht automatisch gelöscht. Wenn der Benutzer in diesem Fall nach der Unterbrechung zum ursprünglichen Skill zurückkehrt, enthalten die Variablen ihre Werte. Wenn der Benutzer wählt, nicht zum ursprünglichen Skill zurückzukehren, wird der ursprüngliche Skill beendet, und die Variablen werden gelöscht.
Werte von Variablen können mit Eingabe- und Ausgabeparametern in und aus Flows übergeben werden. Indem Sie Parameter anstelle direkter Verweise auf Variablen über Flüsse hinweg verwenden, erstellen Sie eigenständige Abläufe, die Wiederverwendbarkeit ermöglichen, vorhersehbares Verhalten fördern und die Wahrscheinlichkeit von Bugs verringern.
Die Namen der Eingabeparameter für einen Ablauf müssen sich von den Namen der Variablen dieses Ablaufs unterscheiden.
Weitere Informationen zum Arbeiten mit Variablen finden Sie unter Ausdrücke für Variablenwerte und Andere Variablentypen.
Neue, geänderte und entfernte Komponenten
Die Komponenten des Visual Flow Designers sind weitgehend die gleichen wie im YAML-basierten Editor, aber es gibt einige Ergänzungen, Entfernungen und Änderungen. Hier ist ein kurzer Überblick über die größten Unterschiede.
Die folgenden Komponenten sind exklusiv für Visual Flow Designer:
- Ablauf aufrufen: Wird zum Aufrufen eines Ablaufs aus einem vorhandenen Ablauf verwendet.
- Endablauf: Wird zum Beenden eines bestimmten Ablaufs verwendet. Sie können auch die Eigenschaft
action
dieser Komponente verwenden, um ein Ereignis anzugeben, das einen anderen Ablauf auslöst. In der Regel wird eine solche Aktion von einem Aktionsübergang verwendet, der in einer Aufrufablaufkomponente im übergeordneten Ablauf angegeben ist. Bei Abläufen der obersten Ebene löst die Aktion im Status "Ablauf beenden" das benutzerdefinierte Ereignis im Hauptablauf aus. - Nachricht senden: Eine vereinfachte Komponente für gemeinsame Antworten (
System.CommonResponse
) zum Anzeigen einer Nachricht. - Frage stellen: Eine vereinfachte Komponente für gemeinsame Antworten (
System.CommonResponse
), mit der ein Benutzer zur Eingabe einer Antwort aufgefordert wird. - Composite Bag auflösen: Eine vereinfachte Komponente "Entitys auflösen" (
System.ResolveEntities
), die speziell für die Arbeit mit Mischentitys entwickelt wurde. - Tabellen und Formulare anzeigen-Komponenten.
Die folgenden Komponenten sind im Visual Flow Designer nicht verfügbar:
- System.Intent: Diese Funktion wurde durch die automatische Intent-Auflösung ersetzt, die auftritt, wenn kein aktiver Ablauf vorhanden ist. Siehe Intent-Erkennung und -Auflösung.
- System.ConditionEquals: Verwenden Sie stattdessen die Komponente Switch.
- System.ConditionExists: Verwenden Sie stattdessen die Komponente Switch.
- System.Text: Verwenden Sie stattdessen eine der allgemeinen Antwortkomponentenvorlagen, die Komponente Entity auflösen oder die neue Komponente Frage fragen.
- System.List: Verwenden Sie stattdessen eine allgemeine Antwort-Komponentenvorlage oder die Komponente Entity auflösen.
- System.Output: Verwenden Sie stattdessen eine allgemeine Antwort-Komponentenvorlage, die Entity auflösen-Komponente oder die Komponente Nachricht senden.
- System.Qna: Wenn Sie Fragen-und-Antworten-Module verwenden, sollten Sie zur Verwendung von Antwort-Intents migrieren.
Eine vollständige Übersicht über die Komponenten im Visual Flow Designer finden Sie unter Komponentenvorlagen.