Migrer vers le mode de dialogue visuel
Voici ce que vous devez savoir sur la migration d'une brique d'un flux de dialogue rédigé par OBotML vers une brique du concepteur de flux visuel.

Toutefois, avant d'effectuer cette étape, vous devrez peut-être apporter des ajustements à la brique ou à la définition OBotML pour vous assurer des éléments suivants :
- La brique est de 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'existe aucun état
System.QnA
. Remplacez le contenu des questions/réponses par des intentions de réponse.
Si la définition OBotML comporte 50 états ou plus, la migration continuera, mais n'entraînera pas de flux d'intention rempli avec des états. Elle contiendra uniquement les variables de niveau flux.



System.ConditionEquals
, System.ConditionExists
, System.List
, System.Text
et System.Intent
, seront interpolés dans le concepteur de flux visuel. Que se passe-t-il lorsque vous effectuez une migration vers une brique Visual Flow Designer
Version 1.0–migrated
dans la mosaïque. (Vous pouvez modifier la valeur de la version de la brique dans la boîte de dialogue Migration).
La nouvelle version de la brique est accompagnée d'un journal de migration qui documente la conversion des propriétés et composants en phase d'abandon.
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 brique Visual Flow Designer contient à la fois un flux principal et un flux d'intention unique. Toutes les intentions sont mises en correspondance avec ce flux. Dans ce flux, l'acheminement d'intention est effectué à l'aide d'un état Switch dans lequel 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 Visual Flow Designer du flux 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 encombrant. Dans ce cas, vous pouvez modulariser la fonctionnalité en copiant les états dans un flux distinct.
Récapitulatif des migrations
OBotML Artefact(s)... | ... Devenir le suivant dans Visual Flow Designer |
---|---|
Intentions | Les événements d'intention et unresolvedIntent sont tous mis en correspondance avec le flux d'intention unique. |
Variables contextuelles | Variables de niveau flux. La variable rb n'est pas migrée ; la variable system.rb est utilisée à la place.
|
Etats 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 pointant vers un routage d'état System.Intent vers l'état de flux de fin pour la mise en correspondance d'intention.
|
Etats System.List et System.Text
|
Réponse commune > Etats Résoudre les entités |
Etats System.Output
|
Etats de réponse communs |
Etats System.ConditionEquals et System.ConditionExists
|
Changer d'état |
Propriétés de composant :
|
Ces propriétés sont enlevées. La valeur par défaut de cancelPolicy dans Résoudre les entités est désormais immédiate
|
Expressions FreeMarker utilisées dans OBotML, propriétés d'entité et propriétés d'élément de conteneur :
|
Expressions équivalentes dans Visual Flow Designer
|
Transition error
|
system.dialogError action de transition
|
Actions de transition attachmentReceived et locationReceived
|
Enlevé |
Transitions à l'aide d'expressions FreeMarker (lorsque l'expression FreeMarker peut être résolue vers un état réel). | Changer d'état |
transitions return
|
Etat du flux migré vers la fin |
Transition NONE dans System.Switch |
Transition next .
|
Noms des composants personnalisés | Le nom du composant personnalisé est précédé du nom du composant personnalisé. Les deux noms sont séparés par le signe deux-points. |
iteratorExpression
|
La propriété iteratorExpression est ajoutée aux métadonnées lorsqu'un élément iteratorVariable est utilisé.
|
Propriété agentActions de System.AgentInitiation
|
Les listes de noms d'action séparées par des virgules sont converties en tableaux avec des propriétés d'action, de libellé et de description. |