Zu visuellem Dialogmodus migrieren

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

Sie starten den Migrationsprozess, indem Sie im Dialogablaufeditor auf In Flow Designer migrieren klicken.
Dieses Bild zeigt die Schaltfläche "In Flow Designer migrieren".

Bevor Sie diesen Schritt ausführen, müssen Sie jedoch möglicherweise einige Anpassungen an dem 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. Ersetzen Sie Fragen-und-Antworten-Inhalte durch Antwort-Intents.
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 Statusangaben aufgefüllt wird. Es enthält nur die Variablen auf Ablaufebene.
Um Probleme in der Definition OBotML zu finden, validieren Sie zuerst Ihren Skill, und prüfen Sie dann im Fenster "Ergebnisse migrieren" 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 Version in der Kachel als Version 1.0–migrated gekennzeichnet. (Sie können den Wert der Skillversion im Dialogfeld "Migration" ändern.)
Bild einer Skillkachel in Visual Flow-Dialogversion

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 Hauptablauf als auch einen einzelnen Intent-Ablauf. Alle Intents sind diesem Ablauf zugeordnet. Innerhalb dieses Ablaufs wird das Intent-Routing mit einem Switch-Status durchgefü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 die Migration Regressionen eingeführt hat. Beispiel: Änderungen an den Übergangsdefinitionen können getrennte Segmente des Ablaufs aufweisen. Sie können auch feststellen, dass der einzelne aus der Migration erstellte Ablauf unhandlich ist. In diesem Fall können Sie die Funktionalität modularisieren, indem Sie Zustände in einen separaten Ablauf kopieren.

Migrationszusammenfassung

OBotML Artefakt(e)... ... Werden Sie im Visual Flow Designer
Intents Intent-Ereignisse und unresolvedIntent werden alle dem einzelnen Intent-Ablauf zugeordnet.
Kontextvariablen Variablen auf Ablaufebene. Die Variable rb wird nicht migriert. Stattdessen wird die Variable system.rb verwendet.
System.Intent-Status Wird als Switch-Status geschrieben. Die Intents werden als Aktionsübergänge bezeichnet. Das Routing wird mit ${skill.system.event.value.intent.intentName} bestimmt. Die Übergänge, die auf eine Statusroute System.Intent verweisen, werden zum Intent-Abgleich in den Status "Endablauf" geleitet.
Status System.List und System.Text Allgemeine Antwort > Entitystatus auflösen
System.Output-Status Gemeinsame Antwortstatus
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
error-Übergang system.dialogError-Übergangsaktion
Übergangsaktionen attachmentReceived und locationReceived Entfernt
Übergänge mit FreeMarker-Ausdrücken (wenn der FreeMarker-Ausdruck in einen tatsächlichen Status aufgelöst werden kann). Status wechseln
return-Übergänge In End-Flow-Status migriert
NONE-Übergang 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 ein iteratorVariable verwendet wird.
Eigenschaft agentActions von System.AgentInitiation Durch Komma getrennte Listen mit Aktionsnamen werden in Arrays mit Aktions-, Label- und Beschreibungseigenschaften konvertiert.