Migra a modalità finestra di dialogo visiva
Di seguito sono riportate le informazioni necessarie per eseguire la migrazione di uno skill da un flusso di dialogo creato con OBotML a uno skill di Visual Flow Designer.

Tuttavia, prima di eseguire questa operazione, potrebbe essere necessario apportare alcune modifiche alla competenza o alla definizione OBotML per assicurarsi che:
- L'abilità è versione 21.12 o superiore
- Non sono presenti transizioni che utilizzano FreeMarker per esprimere gli stati. Ad esempio, una transizione come
equal: "${system.actualState}"
impedirà la migrazione. - Non sono presenti stati
System.QnA
. Sostituisci contenuto domande e risposte con intenti risposta.
Se la definizione OBotML contiene 50 o più stati, la migrazione continuerà, ma non genererà un flusso di intenti popolato con stati. Contiene solo le variabili a livello di flusso.



System.ConditionEquals
, System.ConditionExists
, System.List
, System.Text
e System.Intent
, verranno interpolati in Visual Flow Designer. Cosa succede quando si esegue la migrazione a una competenza di Visual Flow Designer
Version 1.0–migrated
nella casella. È possibile modificare il valore della versione dello skill nella finestra di dialogo Migrazione.
La nuova versione dello skill è accompagnata da un log di migrazione che documenta la conversione di proprietà e componenti non più validi.
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.
...
Lo skill di Visual Flow Designer contiene sia un flusso principale che un singolo flusso di intenti. Tutti gli intenti sono mappati a questo flusso. All'interno di questo flusso, l'instradamento degli intenti viene eseguito utilizzando uno stato Switch in cui i nomi degli intenti sono stati trascritti come transizioni di azione. La logica di instradamento viene eseguita utilizzando ${skill.system.event.value.intent.intentName}
.
Il test dell'iterazione di Visual Flow Designer del flusso può rivelare che la migrazione ha introdotto regressioni. Ad esempio, le modifiche alle definizioni di transizione possono avere segmenti disconnessi del flusso. È inoltre possibile che il singolo flusso creato dalla migrazione sia ingombrante. In questo caso, è possibile modulare la funzionalità copiando gli stati in un flusso separato.
Riepilogo migrazione
OBotML Artifact... | ... Diventa il seguente in Visual Flow Designer |
---|---|
Intenti | Gli eventi di intento e unresolvedIntent sono tutti mappati al flusso di intento singolo. |
Variabili contesto | Variabili a livello di flusso. Non viene eseguita la migrazione della variabile rb , ma viene utilizzata la variabile system.rb .
|
System.Intent stati
|
Trascritto come stato Switch. Gli intenti vengono denominati transizioni di azione. Il routing viene determinato utilizzando ${skill.system.event.value.intent.intentName} . Le transizioni che puntano a un instradamento stato System.Intent allo stato Fine flusso per la corrispondenza degli intenti.
|
Stati System.List e System.Text
|
Risposta comune > Stati Risolvi entità |
System.Output stati
|
Stati risposta comune |
Stati System.ConditionEquals e System.ConditionExists
|
Cambia stati |
Proprietà componente:
|
Queste proprietà vengono rimosse. Il valore predefinito di cancelPolicy in Risolvi entità è immediato.
|
Espressioni FreeMarker utilizzate in OBotML, proprietà entità e proprietà elemento bag:
|
Espressioni equivalenti in Visual Flow Designer
|
Transizione error
|
Azione transizione system.dialogError
|
Azioni di transizione attachmentReceived e locationReceived
|
rimosso |
Esegue le transizioni utilizzando le espressioni FreeMarker (quando l'espressione FreeMarker può essere risolta in uno stato effettivo). | Cambia stati |
transizioni return
|
Migrazione allo stato Fine flusso |
Transizione NONE in System.Switch |
Transizione next .
|
nomi dei componenti personalizzati | Il nome del componente personalizzato viene preceduto dal nome del componente personalizzato. I due nomi sono separati da due punti. |
iteratorExpression
|
La proprietà iteratorExpression viene aggiunta ai metadati quando si utilizza un iteratorVariable .
|
Proprietà agentActions di System.AgentInitiation
|
Gli elenchi delimitati da virgole dei nomi di azione vengono convertiti in array con proprietà di azione, etichetta e descrizione. |