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