Migrar al modo de diálogo visual
A continuación, se muestra lo que necesita saber sobre la migración de una aptitud de un flujo de diálogo creado por OBotML a una aptitud del diseñador de flujos visual.

Sin embargo, antes de realizar ese paso, puede que necesite realizar algunos ajustes en la aptitud o en la definición OBotML para garantizar lo siguiente:
- La aptitud es la versión 21.12 o superior
- No hay transiciones que utilicen FreeMarker para expresar estados. Por ejemplo, una transición como
equal: "${system.actualState}"
evitará la migración. - No hay ningún estado
System.QnA
. Sustituya el contenido de preguntas y respuestas por intenciones de respuesta.
Si la definición OBotML tiene 50 o más estados, la migración seguirá adelante, pero no dará como resultado un flujo de intenciones rellenado con estados. Solo contendrá las variables de nivel de flujo.



System.ConditionEquals
, System.ConditionExists
, System.List
, System.Text
y System.Intent
en el diseñador de flujos visual. Qué sucede al migrar a una aptitud del diseñador de flujos visuales
Version 1.0–migrated
en el mosaico. (Puede cambiar el valor de la versión de aptitud en el cuadro de diálogo Migración).
La nueva versión de la aptitud va acompañada de un log de migración que documenta la conversión de propiedades y componentes en desuso.
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 aptitud del diseñador de flujos visual contiene un flujo principal y un flujo de intención único. Todas las intenciones se asignan a este flujo. Dentro de este flujo, el enrutamiento de intenciones se realiza mediante un estado de cambio en el que los nombres de intenciones se han transcrito como transiciones de acción. La lógica de enrutamiento se ejecuta mediante ${skill.system.event.value.intent.intentName}
.
La prueba de la iteración del flujo del diseñador de flujo visual puede revelar que la migración introdujo regresiones. Por ejemplo, los cambios en las definiciones de transición pueden tener segmentos desconectados del flujo. También puede encontrar que el flujo único creado a partir de la migración no es manejable. En este caso, puede modularizar la funcionalidad mediante la copia de estados en un flujo independiente.
Resumen de Migración
OBotML Artefactos... | ... Conviértase en el siguiente diseñador de flujo visual |
---|---|
Intenciones | Los eventos de intención y unresolvedIntent se asignan al flujo de intención única. |
Variables de contexto | Variables de nivel de flujo. La variable rb no se migra; en su lugar, se utiliza la variable system.rb .
|
Estados System.Intent
|
Transcrito como estado de conmutador. Las intenciones se denominan transiciones de acción. El enrutamiento se determina mediante ${skill.system.event.value.intent.intentName} . Transiciones que apuntan a una ruta de estado System.Intent al estado de flujo final para la coincidencia de intenciones.
|
Estados System.List y System.Text
|
Respuesta común > Resolver estados de entidades |
Estados System.Output
|
Estados de respuesta comunes |
Estados System.ConditionEquals y System.ConditionExists
|
Cambiar Estados |
Propiedades de componente:
|
Estas propiedades se eliminan. cancelPolicy en Resolver entidades ahora se define por defecto en inmediato
|
Expresiones FreeMarker utilizadas en OBotML, propiedades de entidad y propiedades de elemento de bolsa:
|
Expresiones equivalentes en el diseñador de flujo visual
|
Transición error
|
Acción de transición system.dialogError
|
Acciones de transición attachmentReceived y locationReceived
|
Eliminada |
Transiciones mediante expresiones FreeMarker (cuando la expresión FreeMarker se puede resolver a un estado real). | Cambiar Estados |
Transiciones de return
|
Estado Migrado a flujo final |
Transición NONE en System.Switch |
Transición next .
|
Nombres de componentes personalizados | El nombre del componente personalizado tiene como prefijo el nombre del componente personalizado. Los dos nombres están separados por dos puntos. |
iteratorExpression
|
La propiedad iteratorExpression se agrega a los metadatos cuando se utiliza iteratorVariable .
|
Propiedad agentActions de System.AgentInitiation
|
Las listas de nombres de acción delimitadas por comas se convierten en matrices con propiedades de acción, etiqueta y descripción. |