ビジュアル・ダイアログ・モードへの移行

OBotMLが作成したダイアログ・フローからビジュアル・フロー・デザイナのスキルへのスキルの移行について知っておく必要がある内容を次に示します。

移行プロセスを開始するには、ダイアログ・フロー・エディタで「フロー・デザイナへの移行」をクリックします。
これは「フロー・デザイナに移行」ボタンのイメージです

ただし、このステップを実行する前に、次のことを確認するためにスキルまたはOBotML定義を調整する必要がある場合があります。
  • スキルはバージョン21.12以上です
  • 状態を表すためにFreeMarkerを使用する遷移はありません。たとえば、equal: "${system.actualState}"のような遷移によって移行が防止されます。
  • System.QnA状態はありません。Q&Aコンテンツを回答インテントに置き換えます。
ノート

OBotML定義に50以上の状態がある場合、移行は続行されますが、状態が移入されたインテント・フローは発生しません。フロー・レベルの変数のみが含まれます。
OBotML定義内の問題を見つけるには、まずスキルを検証してから、「結果の移行」ウィンドウで、移行前に修正する必要がある検証エラーこれは警告アイコンのイメージです。、警告これはエラー・アイコンのイメージです。、および非推奨のプロパティまたはコンポーネントの状態(System.ConditionEqualsSystem.ConditionExistsSystem.ListSystem.Text System.Intentなど)をビジュアル・フロー・デザイナで補間する方法を説明する情報メッセージこれはヒント・アイコンのイメージです。を確認します。

ビジュアル・フロー・デザイナのスキルに移行した場合の処理

移行が成功すると、新しいスキルが生まれます。デフォルトでは、そのバージョンはタイルにVersion 1.0–migratedと表示されます。(「移行」ダイアログでスキル・バージョンの値を変更できます)。
ビジュアル・フロー・ダイアログ・バージョンのスキル・タイルのイメージです

スキルの新しいバージョンには、非推奨のプロパティおよびコンポーネントの変換を記録する移行ログが付属しています。
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.
... 

ビジュアル・フロー・デザイナのスキルには、メイン・フローと単一のインテント・フローの両方が含まれます。すべてのインテントがこのフローにマップされます。このフロー内で、インテント・ルーティングは、インテント名がアクション・トランジションとしてトランスクリプションされたスイッチ状態を使用して実行されます。ルーティング・ロジックは、${skill.system.event.value.intent.intentName}を使用して実行されます。

フローのビジュアル・フロー・デザイナの反復をテストすると、移行によって回帰が導入されたことがわかる場合があります。たとえば、遷移定義の変更には、フローの接続されていないセグメントが含まれる場合があります。移行から作成された単一のフローが不十分な場合もあります。この場合、状態を別のフローにコピーすることで、機能をモジュール化できます。

移行のサマリー

OBotMLアーティファクト... ...ビジュアル・フロー・デザイナで次になる
インテント インテント・イベントおよびunresolvedIntentはすべて、単一のインテント・フローにマップされます。
コンテキスト変数 フロー・レベルの変数。rb変数は移行されず、かわりにsystem.rb変数が使用されます。
System.Intent状態 切替え状態として変換されます。インテントは、アクションの遷移として名前が付けられます。ルーティングは、${skill.system.event.value.intent.intentName}を使用して決定されます。System.Intent状態を指し示す遷移は、インテント一致のために終了フロー状態にルーティングされます。
System.ListおよびSystem.Textの状態 「Common Response(共通応答)」→「Resolve Entities(エンティティの解決)」状態
System.Output状態 一般的なレスポンス状態
System.ConditionEqualsおよびSystem.ConditionExistsの状態 切替え状態
コンポーネント・プロパティ:
  • System.CommonResponseおよびSystem.ResolveEntitiesnlpResultVariableプロパティ
  • System.ResolveEntitiescancelPolicy
  • autoNumberPostbackActions
  • translate
  • System.Switchコンポーネントのvalues
  • insightsIncludes
  • insightsEndConversation
これらのプロパティは削除されます。「エンティティの解決」のcancelPolicyがデフォルトで即時に設定されます
OBotMLで使用されるFreeMarker式、エンティティ・プロパティおよびバッグ・アイテム・プロパティ:
  • system.errorState
  • system.errorAction
  • system.actualState
  • system.expectedState
  • system.requestedState
  • system.errorState
  • rb
ビジュアル・フロー・デザイナの同等の式
  • 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
error遷移 system.dialogError遷移アクション
attachmentReceivedおよびlocationReceived遷移アクション 削除済
FreeMarker式を使用した遷移(FreeMarker式を実際の状態に解決できる場合)。 切替え状態
return遷移 「終了フローに移行」状態
System.SwitchでのNONE遷移 next遷移。
カスタム・コンポーネント名 カスタム・コンポーネント名の前にカスタム・コンポーネント名が付きます。2つの名前はコロンで区切られます。
iteratorExpression iteratorVariableを使用すると、メタデータにiteratorExpressionプロパティが追加されます。
System.AgentInitiationagentActionsプロパティ アクション名のカンマ区切りリストは、アクション、ラベルおよび説明のプロパティを持つ配列に変換されます。