Migrer vers le mode de dialogue visuel

Voici ce que vous devez savoir sur la migration d'une compétence d'un flux de dialogue d'auteur OBotML vers une compétence Visual Flow Designer.

Pour démarrer le processus de migration, cliquez sur Migrer vers le concepteur de flux dans l'éditeur de flux de dialogue.
Ceci est une image du bouton Migrer vers le concepteur de flux

Toutefois, avant d'effectuer cette étape, vous devrez peut-être apporter quelques ajustements à la compétence ou à la définition OBotML pour vous assurer des éléments suivants :
  • La compétence est version 21.12 ou supérieure
  • Aucune transition n'utilise FreeMarker pour exprimer des états. Par exemple, une transition telle que equal: "${system.actualState}" empêchera la migration.
  • Il n'y a aucun état System.QnA. Remplacer le contenu des FAQ par des intentions de réponse.
Note

Si la définition OBotML comporte 50 états ou plus, la migration se poursuivra, mais aucun flux d'intention ne sera alimenté avec des états. Il ne contiendra que les variables de niveau flux.
Pour localiser des problèmes dans la définition OBotML, validez d'abord votre compétence, puis consultez la fenêtre Migrer des conclusions pour voir les erreurs de validation Ceci est une image de l'icône d'avertissement. que vous devez corriger avant la migration, les avertissements Ceci est une image de l'icône d'erreur. et les messages d'information Ceci est une image de l'icône de conseil. qui décrivent comment les états contenant des propriétés ou composants obsolètes, tels que System.ConditionEquals, System.ConditionExists, System.List, System.Text et System.Intent seront interpolés dans le concepteur de flux visuel.

Ce qui se passe lorsque vous migrez vers une compétence Visual Flow Designer

Une migration réussie entraîne la création d'une nouvelle compétence. Par défaut, sa version est notée Version 1.0–migrated dans la vignette. (Vous pouvez modifier la valeur de la version de la compétence dans la boîte de dialogue Migration).
Image d'une vignette de compétence avec contrôle de version Visual Flow Dialog

La nouvelle version de la compétence est accompagnée d'un journal de migration qui documente la conversion des propriétés et composants obsolètes.
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.
... 

La compétence Visual Flow Designer contient à la fois un flux principal et un flux d'intention unique. Toutes les intentions sont mappées à ce flux. Dans ce flux, le routage d'intention est effectué à l'aide d'un état Switch où les noms d'intention ont été transcrits en tant que transitions d'action. La logique de routage est exécutée à l'aide de ${skill.system.event.value.intent.intentName}.

Le test de l'itération du flux par Visual Flow Designer peut révéler que la migration a introduit des régressions. Par exemple, les modifications apportées aux définitions de transition peuvent comporter des segments déconnectés du flux. Vous pouvez également constater que le flux unique créé à partir de la migration est lourd. Dans ce cas, vous pouvez modulariser la fonctionnalité en copiant les états dans un flux distinct.

Sommaire de migration

OBotML Artefact(s)... ... Devenez le suivant dans Visual Flow Designer
Intentions Les événements d'intention et unresolvedIntent sont tous mappés au flux d'intention unique.
Variables de contexte Variables de niveau flux. La variable rb n'est pas migrée; la variable system.rb est utilisée à la place.
États System.Intent Transcrit en tant qu'état Switch. Les intentions sont nommées en tant que transitions d'action. Le routage est déterminé à l'aide de ${skill.system.event.value.intent.intentName}. Transitions qui renvoient à une route d'état System.Intent vers l'état Fin du flux pour la mise en correspondance d'intention.
États System.List et System.Text états Common Response > Resolve Entities
États System.Output États de réponse commune
États System.ConditionEquals et System.ConditionExists Changer d'état
Propriétés de composant :
  • Propriété nlpResultVariable dans System.CommonResponse et System.ResolveEntities
  • cancelPolicy dans System.ResolveEntities
  • autoNumberPostbackActions
  • translate
  • values dans le composant System.Switch
  • insightsIncludes
  • insightsEndConversation
Ces propriétés sont supprimées. cancelPolicy dans Résoudre les entités est maintenant réglé par défaut à Immédiat
Expressions FreeMarker utilisées dans OBotML, propriétés d'entité et propriétés d'élément d'entité composite :
  • system.errorState
  • system.errorAction
  • system.actualState
  • system.expectedState
  • system.requestedState
  • system.errorState
  • rb
Expressions équivalentes dans 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
Transition vers error Action de transition system.dialogError
Actions de transition attachmentReceived et locationReceived Supprimer
Transitions à l'aide d'expressions FreeMarker (lorsque l'expression FreeMarker peut être résolue à un état réel). Changer d'état
transitions return Migré vers l'état du flux de fin
Transition NONE dans System.Switch Transition next.
Noms de composant personnalisé Le nom du composant personnalisé est précédé du nom du composant personnalisé. Les deux noms sont séparés par un deux-points.
iteratorExpression La propriété iteratorExpression est ajoutée aux métadonnées lorsqu'une valeur iteratorVariable est utilisée.
Propriété agentActions de System.AgentInitiation Les listes de noms d'action délimitées par des virgules sont converties en tableaux avec des propriétés d'action, d'étiquette et de description.