Migrar para o modo de diálogo visual
Veja o que você precisa saber sobre a migração de uma habilidade de um fluxo de caixas de diálogo criado por OBotML para uma habilidade do Designer de Fluxo Visual.

No entanto, antes de dar essa etapa, talvez você precise fazer alguns ajustes na habilidade ou na definição OBotML para garantir o seguinte:
- A habilidade é a Versão 21.12 ou superior
- Não há transições que usam FreeMarker para expressar estados. Por exemplo, uma transição como
equal: "${system.actualState}"
impedirá a migração. - Não há estados
System.QnA
. Substitua o conteúdo do módulo de perguntas e respostas pelas intenções de resposta.
Se a definição OBotML tiver 50 ou mais estados, a migração ainda continuará, mas não resultará em um fluxo de intenção preenchido com estados. Ela conterá apenas as variáveis de nível de fluxo.



System.ConditionEquals
, System.ConditionExists
, System.List
, System.Text
e System.Intent
serão interpolados no Designer de Fluxo Visual. O que acontece quando você migra para uma habilidade do Designer de Fluxo Visual
Version 1.0–migrated
no mosaico. (Você pode alterar o valor da versão da habilidade na caixa de diálogo Migração).
A nova versão da habilidade é acompanhada por um log de migração que documenta essa conversão de propriedades e componentes obsoletos.
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.
...
A habilidade do Designer de Fluxo Visual contém um fluxo principal e um único fluxo de intenção. Todas as intenções são mapeadas para esse fluxo. Dentro desse fluxo, o roteamento de intenção é realizado usando um estado Alternar em que os nomes de intenção foram transcritos como transições de ação. A lógica de roteamento é executada usando ${skill.system.event.value.intent.intentName}
.
O teste da iteração do Designer de Fluxo Visual do fluxo pode revelar que a migração introduziu regressões. Por exemplo, as alterações nas definições de transição podem ter segmentos desconectados do fluxo. Você também pode achar que o fluxo único criado a partir da migração é pesado. Nesse caso, você pode modularizar a funcionalidade copiando estados em um fluxo separado.
Resumo da Migração
OBotML Artefato(s)... | ... Torne-se o seguinte no Visual Flow Designer |
---|---|
Intenções | Os eventos de intenção e unresolvedIntent são todos mapeados para o fluxo de intenção única. |
Variáveis de Contexto | Variáveis no nível do fluxo. A variável rb não é migrada; em vez disso, a variável system.rb é usada.
|
Estados System.Intent
|
Transcrito como um estado Switch. As intenções são nomeadas como transições de ação. O roteamento é determinado usando ${skill.system.event.value.intent.intentName} . As transições que apontam de volta para uma rota de estado System.Intent para o estado Fluxo Final para correspondência de intenção.
|
Estados System.List e System.Text
|
Resposta Comum > Resolver estados de Entidades |
Estados System.Output
|
Estados da Resposta Comum |
Estados System.ConditionEquals e System.ConditionExists
|
Alternar estados |
Propriedades do componente:
|
Essas propriedades são removidas. cancelPolicy em Resolver Entidades agora assume como padrão imediato
|
Expressões FreeMarker usadas em OBotML, propriedades de entidade e propriedades de item de repositório:
|
Expressões equivalentes no Designer de Fluxo Visual
|
Transição error
|
Ação de transição system.dialogError
|
Ações de transição attachmentReceived e locationReceived
|
Removido |
Transições usando expressões FreeMarker (quando a expressão FreeMarker pode ser resolvida para um estado real). | Alternar estados |
Transições return
|
Migrado para o estado do Fluxo Final |
Transição NONE em System.Switch |
next transição.
|
Nomes de componentes personalizados | O nome do componente personalizado é prefixado com o nome do componente personalizado. Os dois nomes são separados por dois-pontos. |
iteratorExpression
|
A propriedade iteratorExpression é adicionada aos metadados quando um iteratorVariable é usado.
|
Propriedade agentActions de System.AgentInitiation
|
Listas de nomes de ação delimitadas por vírgulas são convertidas em matrizes com propriedades de ação, rótulo e descrição. |