Zu visuellem Dialogmodus migrieren

Hier finden Sie Informationen zum Migrieren eines Skills von einem von OBotML verfassten Dialogablauf zu einem Visual Flow Designer-Skill.

Sie starten den Migrationsprozess, indem Sie im Dialogablaufeditor auf Zu Flow Designer migrieren klicken.
Bild der Schaltfläche "Zu Ablaufdesigner migrieren"

Bevor Sie diesen Schritt ausführen, müssen Sie jedoch möglicherweise einige Anpassungen am Skill oder der OBotML-Definition vornehmen, um Folgendes sicherzustellen:
  • Der Skill ist Version 21.12 oder höher.
  • Es gibt keine Übergänge, die FreeMarker zum Ausdrücken von Status verwenden. Beispiel: Ein Übergang wie equal: "${system.actualState}" verhindert die Migration.
  • Es sind keine System.QnA-Status vorhanden. Fragen-und-Antworten-Inhalt durch Antwort-Intents ersetzen.
Hinweis

Wenn die OBotML-Definition 50 oder mehr Status aufweist, wird die Migration weiterhin fortgesetzt, führt jedoch nicht zu einem Intent-Ablauf, der mit Status aufgefüllt wird. Es enthält nur die Flow-Level-Variablen.
Um Probleme innerhalb der Definition OBotML zu finden, validieren Sie zuerst Ihren Skill. Prüfen Sie dann das Fenster "Migrieren" der Ergebnisse auf die Validierungsfehler Dieses Bild zeigt das Warnsymbol., die Sie vor der Migration beheben müssen, die Warnungen Dieses Bild zeigt das Fehlersymbol. und die Informationsmeldungen Dieses Bild zeigt das Symbol für Tipps., die beschreiben, wie die Status mit veralteten Eigenschaften oder Komponenten, wie System.ConditionEquals, System.ConditionExists, System.List, System.Text und System.Intent, im Visual Flow Designer interpoliert werden.

Vorgänge bei der Migration zu einem Visual Flow Designer-Skill

Eine erfolgreiche Migration führt zu einem neuen Skill. Standardmäßig wird die zugehörige Version in der Kachel als Version 1.0–migrated angegeben. (Sie können den Wert der Skillversion im Dialogfeld "Migration" ändern).
Bild einer Skillkachel mit Dialogversion für visuellen Ablauf

Die neue Version des Skills wird von einem Migrationslog begleitet, das die Konvertierung veralteter Eigenschaften und Komponenten dokumentiert.
8:5 The variable 'iResult' will not be migrated. In visual dialogs, the intent resolution is done in the dialog engine and the NLP result is available through the 'skill.system.nlpresult' variable.
9:5 The variable 'rb' will not be migrated. This variable is pre-defined now.
84:5 The state 'welcome' uses the 'System.Output' component, which is obsolete in visual dialog mode. It will be replaced with a 'System.CommonResponse' component.
92:5 The state 'getIntent' uses the System.Intent component, which is obsolete in visual dialog mode. It will be replaced with a System.Switch component. Intent resolution in visual dialog mode happens automatically when starting a new session and after ending a root flow.
115:7 The property 'values' in the state 'startDetermineWineType' is obsolete in visual dialog mode and will be removed.
122:9 The 'NONE' transition action in the state 'startDetermineWineType' is obsolete in visual dialog mode and will be removed. The 'next' transition is used instead.
... 

Der Visual Flow Designer-Skill enthält sowohl einen Hauptfluss als auch einen einzelnen Intent-Ablauf. Alle Intents sind diesem Ablauf zugeordnet. Innerhalb dieses Ablaufs wird das Intent-Routing mit einem Switch-Status ausgeführt, bei dem die Intent-Namen als Aktionsübergänge transkribiert wurden. Die Routinglogik wird mit ${skill.system.event.value.intent.intentName} ausgeführt.

Das Testen der Visual Flow Designer-Iteration des Ablaufs kann zeigen, dass bei der Migration Regressionen eingeführt wurden. Beispiel: Änderungen an den Übergangsdefinitionen können getrennte Segmente des Ablaufs enthalten. Sie können auch feststellen, dass der aus der Migration erstellte einzelne Fluss unhandlich ist. In diesem Fall können Sie die Funktionalität modularisieren, indem Sie Status in einen separaten Ablauf kopieren.

Migrationszusammenfassung

OBotML Artefakt(e)... ... Im Visual Flow Designer werden
Intents Intent-Ereignisse und unresolvedIntent sind alle dem einzelnen Intent-Ablauf zugeordnet.
Kontextvariable Variablen auf Ablaufebene. Die Variable rb wird nicht migriert. Stattdessen wird die Variable system.rb verwendet.
System.Intent-Status Als Switch-Status transkribiert. Die Intents werden als Aktionsübergänge bezeichnet. Das Routing wird mit ${skill.system.event.value.intent.intentName} bestimmt. Die Übergänge, die auf den Status System.Intent verweisen, leiten zum Zweck des Intent-Abgleichs in den Status "Endfluss" zurück.
Die Status System.List und System.Text Gemeinsame Antwort > Status "Entitäten lösen"
System.Output-Status Allgemeine Antwortstatus
Die Status System.ConditionEquals und System.ConditionExists Status wechseln
Komponenteneigenschaften:
  • Eigenschaft nlpResultVariable in System.CommonResponse und System.ResolveEntities
  • cancelPolicy in System.ResolveEntities
  • autoNumberPostbackActions
  • translate
  • values in der Komponente System.Switch
  • insightsIncludes
  • insightsEndConversation
Diese Eigenschaften werden entfernt. cancelPolicy in "Entitys auflösen" ist jetzt standardmäßig sofort
FreeMarker-Ausdrücke, die in OBotML, Entityeigenschaften und Mischentityelementeigenschaften verwendet werden:
  • system.errorState
  • system.errorAction
  • system.actualState
  • system.expectedState
  • system.requestedState
  • system.errorState
  • rb
Äquivalente Ausdrücke in Visual Flow Designer
  • skill.system.event.value.dialogError.errorState
  • skill.system.event.value.dialogError.errorMessage
  • skill.system.event.value.outOfOrderMessage.outOfOrderState
  • skill.system.event.value.outOfOrderMessage.currentState
  • skill.system.event.value.authorizeUser.requestedState
  • skill.system.event.value.outOfOrderMessage.errorState
  • skill.system.rb
Übergang error system.dialogError-Übergangsaktion
Übergangsaktionen attachmentReceived und locationReceived Entfernt
Übergänge mit FreeMarker-Ausdrücken (wenn der Ausdruck FreeMarker in einen tatsächlichen Status aufgelöst werden kann). Status wechseln
return-Übergänge In Endablaufstatus migriert
Übergang NONE in System.Switch next-Übergang.
Benutzerdefinierte Komponentennamen Dem Namen der benutzerdefinierten Komponente wird der Name der benutzerdefinierten Komponente vorangestellt. Die beiden Namen sind durch einen Doppelpunkt getrennt.
iteratorExpression Die Eigenschaft iteratorExpression wird den Metadaten hinzugefügt, wenn eine iteratorVariable verwendet wird.
agentActions-Eigenschaft von System.AgentInitiation Durch Komma getrennte Listen mit Aktionsnamen werden in Arrays mit Aktions-, Label- und Beschreibungseigenschaften konvertiert.