(この機能はバージョン8.0以降導入されました)おそらく数十から数百の(グローバルまたはコンテンツ)変数を定義し、ボットの定義に使用していると思います。これらの変数は、テキストプロンプトやメッセージ、JavaScript、転送、サービスコールなどの定義に使用されています。これらの変数を、使用の有無にかかわらずタスクごとに読み込むことは、ボットの応答時間が遅れることにつながり、ユーザー体験に影響を与えることになります。名前空間を使用することで、変数を分類し、これらの名前空間をボット定義の様々なコンポーネントにマッピングすることができます。Kore.aiのプラットフォームは、特定のコンポーネントを実行する際に、マッピングされた名前空間からのみ変数を読み込みます。
導入
変数の名前空間を有効にした場合:
- デフォルトの名前空間は、プラットフォームによって自動的に作成され、削除または変更することはできません。
- すべてのタスクと変数は、自動的にこのデフォルトの名前空間に関連付けられます。
- 名前空間を定義および管理することができます。
- これらの名前空間に対して、グローバル変数とコンテキスト変数を追加または削除することができます。変数は1つ以上の名前空間に属することができます。グローバル変数とコンテンツ変数をデフォルトの名前空間から削除することはできません。
- 名前空間を、次のようなボット定義の様々なコンポーネントにマッピングすることができます。
- ダイアログタスク、アクションタスク、通知タスク、情報タスクなど
- ダイアログタスクのノード
- ナレッジタスク
- スモールトークタスク
- 標準応答
- イベントハンドラ
- コンポーネントの名前空間のマッピングを削除した場合。 ただし、コンポーネントを任意の名前空間にマッピングした場合、コンポーネントの定義に1つ以上の変数が含まれていると、これらのコンポーネントの実行に失敗する可能性があります。
変数名空間がマッピングされると、タスク実行時にプラットフォームによって以下の手順が実行されます。
- コンポーネントにマッピングされた名前空間に属する変数のみが読み込まれます。
- マッピングされていない変数がコンポーネントによって参照されている場合、「変数が見つかりません」というエラーが発生します。
- タスク内で使用されるボット関数にも同様のロジックが適用されます。
マッピング
名前空間を作成したら、変数、タスク、その他のボットコンポーネントにマッピングする必要があります。これにより、コンポーネントにマッピングされた名前空間に属する変数のみが、実行時に読み込まれるようになります。
変数のマッピング
変数(グローバル変数およびコンテンツ変数)の作成時に、名前空間をマッピングすることができます。デフォルトでは、変数はデフォルトの名前空間に割り当てられます。1つの変数を複数の名前空間にマッピングすることができます。変数定義を編集することで、後からマッピングを変更することができます。
コンポーネント
すべてのコンポーネントには、変数ネームスペースを管理というアクション項目があり、これを使用してコンポーネントを特定の名前空間にマッピングすることができます。