Bot Management

名前空間の管理

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

ボット変数の使用

ボット変数は、さまざまなタスク、ノード、その他のボット要素で共通して使用される値を取得するのに役立ちます。ボット変数は、ボットの設定でキーと値の組み合わせとして設定することができ、会話の流れの中で実行時にキーと値を置き換えることができます。頻繁に使用される値を一箇所で取得することで、ボット変数は再利用性と一貫性という利点をもたらします。例えば、ステージングエンドポイントを使用してフライト予約ボットをテストしているとします。このエンドポイントを変数として設定した場合、複数の場所から素早くAPIを呼び出すことができるようになります。ボットの公開中にステージングエンドポイントを本番環境に変更したい場合も、簡単に行えます。同様に、変数を使使用して、ダイアログフローの定義からメッセージとプロンプトのコンテンツを外部に置くことができます。Kore.aiプラットフォームでは、ボットの開発者は、環境とコンテンツの2種類の変数を定義することができます。 環境変数 (以前はグローバル変数と呼ばれていた)環境変数は、キーと値の組み合わせを定義し、その変数をボット全体で使用する、主要なタイプのボット変数です。環境変数はグローバルに宣言されているため、ボットの設定のどの時点でも使用することができます。開発者が環境変数を使用する典型的なユースケースは、次の通りです。 異なるエンドポイントURLを持つ環境間でボットを管理する場合。環境に応じてボットをエクスポートおよびインポートすることができ、インフラストラクチャチームは変数設定ファイルのみを変更する必要があります。 ボットの設定内で繰り返されるボットの応答を変数として定義および管理する場合。 認証トークン チャネルに関連するトークンとURL プラットフォームのバージョン8.1リリース以降、オンプレミスのインストールでは、コレクションを使用してこれらの環境変数に複数の値のセットを保存することができます。詳細はこちらを参照してください。 コンテンツ変数 基本的に、ボットの構築には大規模なコンテンツ管理が必要です。多言語対応のボットの場合には、開発者と世界各地に散らばるコンテンツ作成者や著作権管理チームとの間で、面倒な調整作業が必要になります。コンテンツ変数は、コンテンツの制作や編集からボットフローの開発作業を抽象化することで、この問題を解決します。プログラマーは、コンテンツ変数を使用して、ユーザーに提示されるプロンプト、メッセージ、またはデータなどのボットコンテンツをボットコンポーネントにハードコーディングすることを回避し、代わりに各ボット言語の一元管理されたコンテンツ変数ファイル内の特定の変数を指定することができます。この言語固有のコンテンツ変数ファイルは、ボットの設定を公開することなく、コンテンツ編集者にエクスポートすることができます。ライターは、エクスポートされたファイル内のコンテンツを制作し、ボットにインポートすることができます。 ボット変数の定義 ボット変数を追加または編集するには、以下の手順に従います。 変数を追加すrボットを開いて、設定 > 環境設定を選択します。 環境変数またはコンテンツ変数セクションのいずれかを選択します。 変数ページで変数を追加をクリックして、以下の詳細を入力します。 変数名:「ボット環境」など、特殊文字を使用しない名前を入力します。 値:文字列式を追加します。この文字列は、起動されたあらゆる場所で変数を置き換えます。 注意:コンテンツ変数の場合は、ボットの言語ごとに異なる値を入力する必要があります。方法については、次のセクションを参照してください。 メモフィールドに開発者のメモを入力します。これは任意のフィールドですが、有用なメモを入力することで、ターゲットボットを担当する開発者が関連する値を把握し提供するのに役立ちます。 グループは、変数を分類するために使用することができます。 有効な場合は、名前空間を割り当てます()。 [保存] をクリックします。 さらに変数を追加または編集する場合は、ステップ3~5を繰り返します。 言語固有の値の入力 コンテンツ変数に言語固有の値を追加するには、まず、ボットの言語を切り替える必要があります。言語の切り替えは、ボットのページの右上にある現在有効な言語名をクリックし、以下の手順で別の言語を選択することで行うことができます。言語を切り替えた後、設定 > 環境設定 > コンテンツ変数ページに移動し、該当する変数の横にある編集アイコンをクリックします。有効になっている言語の値フィールドのテキストを置き換えます。 環境変数の使用 プレーンテキストモード(標準エディター)では、の構文を使用して環境変数を呼び出すことができます。JavaScriptモードで使用している場合は、env.variableNameとなります。JavaScriptモードで使用している場合は、env.variableNameとなります。ここでは、botTypeおよびparametersと呼ばれる2つの環境変数を使用して、開発、テスト、本番といった様々なボット環境を決定しているボットの例をご紹介します。ボットのタスクの1つにある以下のスクリプトノードは、現在のボット環境に応じて、ボットのベースURLを取得します。次のサービスノードのURLは、取得したURLに基づいて変更されます。 コンテンツ変数の使用 プレーンテキストモード(標準エディター)では、の構文を使用してコンテンツ変数を呼び出すことができます。JavaScriptモードで使用している場合は、content.variableNameとなります。ここでは、ユーザーの出発地の空港を取得する、多言語のフライト予約ボットのエンティティノードをご紹介します。これは、ハードコードのユーザープロンプトの代わりにコンテンツ変数を使用しています。ユーザーとのやり取りの一環としてボットがこのノードに到達すると、ユーザープロンプトはやり取りを行っている言語に応じて変化します(有効なすべての言語に対してそれぞれの変数値を入力した場合)。 インポートとエクスポート ボット変数をボット間でインポートおよびエクスポートすることができます。 設定 > 環境設定 > (環境/コンテンツ)変数からアクセス可能なボット変数のページで、 変数を追加の隣にある楕円をクリックします。 インポートするには:インポートを選択してJSONファイルまたはCSVファイルから変数をインポートします。 インポートは既存の変数を置き換えるため、バックアップを取ることをお勧めします。 バックアップを取った後、インポートを続行します。 インポートするJSONファイルまたはCSVファイルを選択します(ファイル形式については以下をご確認ください)。 エクスポートするには:エクスポートエクスポートファイルの形式を選択します。 ボット変数は、選択した内容に応じてJSONファイル、CSVファイルの形式でエクスポートされます。…

ボット管理

このセクションでは、ボットのインポートとエクスポート、ボットの削除、ボットの変更履歴の確認などについて説明します。 ボット変数とそれらの管理方法を参照することができます。詳細はこちらを参照してください。 ボットのインポートとエクスポート Kore.aiでは、ボットのタスクや関連する設定をエクスポートしたり、別のボットにインポートしたりすることができます。この機能は、ボットの定義の移行、ボットの複製、またはボットの定義の定期的なバックアップの保持などに役立ちます。特に、ボットがエンドユーザー向けにリリースされる前に、さまざまな開発プロセスの段階でさまざまなバージョンのボットをテストする際に役立ちます。このセクションの記事では、エクスポートおよびインポート機能の仕組みとその実行方法について理解することができます。 注意:バージョン8.0リリース以降は、エクスポートおよびインポートされたボット定義の「NLPデータ」の「NLP設定」にenableNegativePatternsフラグが含まれます。このフラグは、ボットでネガティブパターンが有効/無効になっているかどうかを確認するために使用されます。このパッチの前は、このフラグはインポートされたボットの定義の「NLPデータ」にある「NLP設定」、およびエクスポートされたボットの定義の「設定」にある「ボットの設定」の一部でした。この変更は、機能の合理化を目的としており、バージョン8.0より前に生成されたエクスポートファイルからのボットの増分インポートに失敗する場合があります。 ボットのエクスポート エクスポートオプションを使用して、ボットの定義や設定をエクスポートすることができます。ボットをエクスポートすると、以下のZIPファイルがダウンロードされます。 botDefinition.json:ボットのメタデータ、タスク、ボットおよびタスクレベルの同義語、発話、パターン、ナレッジグラフ、標準応答、フロー、IDPが含まれます。ボットのエクスポートの際に、ボットのタスク、NLPデータ(NLP設定、発話、標準応答)、設定(ボットの設定、変数、IVR設定)の中からエクスポートするアイテムを選択することができます。 config.json:ボットの設定、ボット変数、IVRの設定が含まれます。 Icon.png:ボットアイコンが含まれます。 <Custom ScriptFile Name.js>(利用可能な場合):JavaScriptの関数を含むスクリプトファイルが含まれます。このファイルをボットにアップロードすると、ボット内のどこからでもファイル内の関数にアクセスすることができるようになります。 注意:エクスポートの際、ボットとそのコンポーネントには固有の参照IDが付与されます。これらのIDは、プラットフォームがターゲットボット内で一致するタスクを特定したり、それらを更新したりするのに役立ちます。 エクスポートのモード ボットのエクスポートには、公開と最新バージョン2つのモードがあります。選択されたモードに応じて、ボットタスクの対応するバージョンがエクスポートされます。どちらのモードでも、ボットタスク、NLPデータ、ボットの設定など、エクスポートするボットのコンポーネントを選択することができます。また、個々のボットタスクを選択することもできます。 公開モード 公開モードでボットをエクスポートした場合、既存のバージョンに関わらず、ボットタスクの公開バージョンのみがエクスポートされます。例えば、ボットが公開バージョンのタスクと、アップグレード中のバージョンで構成されている場合、公開バージョンのみがエクスポートされます。 以下の表を参照して、どのバージョンのタスクが公開モードでエクスポートされるかをご確認ください。 タスク ステータス 進行中 エクスポートなし 開発中のタスクの場合、公開モードではエクスポートされません。 設定済み エクスポートなし タスクの設定は完了しているが、使用のために公開されていない場合、公開モードではエクスポートされません。 公開済み エクスポート済み 公開済みのボットタスクはすべてエクスポートされます。 アップグレード中 エクスポートなし 進行中のタスクのアップグレード設定はエクスポートされません。公開済みの設定のみがエクスポートされます。 拒否 エクスポートなし 管理者によって拒否されたタスク設定は、エクスポートされません。 一時停止 エクスポートなし 一時停止されたタスクはエクスポートされません。 注意:ダイアログタスクでは、公開済みステータスになっているノードのみがエクスポートされます。 最新バージョン 最新モードでボットをエクスポートした場合、公開ステータスに関わらず、ボットタスクの最新バージョンのみがエクスポートされます。例えば、ボットが公開バージョンのタスクとアップグレード中のバージョンで構成されている場合にはアップグレード中のバージョンがエクスポートされますが、設定済みのバージョンのみで構成されている場合は設定済みのバージョンがエクスポートされます。 以下の表を参照して、どのバージョンのタスクが最新モードでエクスポートされるかをご確認ください。 タスク ステータス 進行中 利用可能な唯一のバージョンであればエクスポートされます。 後続のバージョンが存在する場合はエクスポートされません。 設定済み 利用可能な唯一のバージョンであればエクスポートされます。…