ダイナミック選択肢ユーザー入力コントロール

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む14読むのに数分
  • 仮想エージェント トピックでダイナミック選択肢ユーザー入力コントロールを使用して、ユーザーに使用可能な選択肢のリストを動的に作成します。これらの選択肢は、表を照会するか、動的に作成されるようスクリプトを使用して作成します。

    選択リストの表示

    ダイナミック選択肢リストには、ページあたり最大 10 個のアイテムが含まれます。10 個を超えるアイテムが存在する場合、ユーザーは追加のアイテムを表示して、検索結果をフィルタすることもできます。 選択リストのプロンプトには、ユーザーが結果をフィルタするために選択できる検索アイコンが含まれています。

    ヒント:
    1 ページに表示されるデフォルトのアイテム数を変更するには、com.glide.cs.picker_page_limit システムプロパティを変更します。デフォルト値は 10 です。
    ダイナミック選択肢コントロールには、選択リストの上に表示されるヘッダーカードを追加するオプションもあります。ヘッダーカードは、Web およびモバイルチャネルでサポートされています。
    • ヘッダーカードには、大小の画像または YouTube ビデオカードを、説明テキストとともに含めることができます。選択リストにはデフォルトで最大 5 個のアイテムが含まれますが、検索機能は非表示になります。アイテムが 5 個より多くある場合、ユーザーは追加のアイテムを表示することを選択できます。

    • ヘッダーカードの下に表示されるアイテムの数を制御するには、com.glide.cs.web_header_picker_page_limit システムプロパティを追加します。[値] を使用して、選択リストのアイテムの数を指定します。システムプロパティの作成の詳細については、「システムプロパティを追加する」を参照してください。

    LLM トピック検出のダイナミック選択肢ユーザー入力コントロールのプロパティ

    プロパティ 説明
    ノード名 トピックフローでこのダイナミック選択肢ユーザーコントロールノードを識別する名前。
    詳細な説明 ユーザーが必要とする 1 つの情報。たとえば、 ユーザーにインシデントを選択するように依頼します。
    選択肢
    選択肢の入力方法 使用するダイナミック変数のタイプ。次のオプションのいずれかを選択します。
    • レコード:選択したテーブルのレコードを返します。これらのオプションの値は、GlideRecord オブジェクトです。
    • スクリプト:オプションのアレイを返す式です。
    テーブル [レコード] を選択肢の入力方法として選択した場合、検索するテーブルを選択します。

    この [レコード] オプションを選択した場合にのみ、このフィールドを使用できます。

    フィルターの選択肢 仮想エージェントデザイナー 条件ビルダーを使用するか、スクリプトを提供するオプション。次のいずれかを選択します。
    • 条件ビルダー (Condition Builder):テーブルからレコードのサブセットを選択するために使用するフィルターを作成します。
    • スクリプト:表示するオプションの列挙リスト (選択リスト) を定義します。名前と値のペアは文字列オブジェクトとして格納されます。

    この [レコード] オプションを選択した場合にのみ、このフィールドを使用できます。

    詳細
    ユーザープロンプトを強制 切り替えて、LLM によって生成されたメッセージの代わりにユーザーに表示されるカスタムメッセージのフィールドを開きます。
    LLM に対する追加指示

    データ形式、制限、またはユーザー応答のデフォルト値の追加など、LLM への詳細な指示。データピルピッカーを使用して、分かりやすい言葉で追加の指示を作成したり、スクリプトを入力したり、条件を定義したりすることができます。

    このノードを非表示
    次の場合、このノードを条件付きで表示します

    会話でこのノードを表示するための条件を指定するノーコード条件ステートメントまたはローコードスクリプト。条件は [true] と評価される必要があります。

    LLM トピック検出のためのダイナミック選択肢ユーザー入力コントロールの例

    注:
    仮想エージェントデザイナーコントロールは、他のチャネルでは表示や機能が異なる場合があります。
    入力プロパティ リストプロンプト
    図 : 1. ダイナミック選択肢ユーザー入力コントロールの基本プロパティ
    基本プロパティには、ノード名、詳細な説明、リスト別の選択肢の入力、フィルタリング オプションが含まれます。
    図 : 2. LLM トピック検出のための詳細ダイナミック選択肢ユーザー入力オプション
    [ユーザー プロンプトの適用] で、LLM によって生成されたメッセージではなくカスタム メッセージを追加します。[LLM の追加指示] で、平易な言語の指示を入力するか、スクリプトを入力するか、条件を定義します。
    図 : 3. Web UI のダイナミック選択肢リストプロンプト
    ダイナミック選択肢リストは、ユーザーが作成したインシデントのリストを返します。
    選択リストには、ページあたり 10 個のアイテムが表示されます。10 件以上の結果が返された場合:
    • リストの最後に、さらに多くの結果を表示するためのリンクがあります。
    • 検索結果をフィルタリングするための検索アイコン () がプロンプトに表示されます。ユーザーはこのアイコンを選択して検索ボックスを開き、フィルターを入力します。

    NLU トピック検出のダイナミック選択肢ユーザー入力コントロールのプロパティ

    プロパティ 説明
    ノード名 トピックフローでこのダイナミック選択肢ユーザーコントロールノードを識別する名前。
    変数名 このプロンプトに対するユーザー応答を格納する変数の名前です。変数名は、ノード名プロパティから自動的に作成されます。
    プロンプト

    ユーザーへのプロンプトまたは質問。プロンプトは、テキスト文字列またはテキストを返すスクリプトのいずれかです。この値は、デフォルト値が指定されていない場合にのみ使用されます。例:[名前は何ですか (What's your name?)]

    NLU エンティティ

    NLU エンティティをノードに関連付けるオプション。NLU エンティティがこのノードの入力変数に関連付けられている場合、仮想エージェントはユーザーの発言に基づいて指定された値をスロットに入力できます。トピックインテントに関連付けられているエンティティのリストからエンティティを選択します。

    ノードのエンティティを指定すると、[認識されたエンティティの確認をユーザーに依頼しない (Do not ask users to confirm recognized entity)] トグルスイッチが表示されます。有効にすると、ユーザーは抽出されたエンティティの確認を求められません。

    このフィールドは、インスタンスで NLU 検出が有効になっている場合にのみ使用できます。

    選択肢
    選択肢の入力方法 使用するダイナミック変数のタイプ。次のオプションのいずれかを選択します。
    • レコード:選択したテーブルのレコードを返します。これらのオプションの値は、GlideRecord オブジェクトです。
    • スクリプト:オプションのアレイを返す式です。
    テーブル [レコード] を選択肢の入力方法として選択した場合、検索するテーブルを選択します。

    この [レコード] オプションを選択した場合にのみ、このフィールドを使用できます。

    フィルターの選択肢 仮想エージェントデザイナー 条件ビルダーを使用するか、スクリプトを提供するオプション。次のいずれかを選択します。
    • 条件ビルダー (Condition Builder):テーブルからレコードのサブセットを選択するために使用するフィルターを作成します。
    • スクリプト:表示するオプションの列挙リスト (選択リスト) を定義します。名前と値のペアは文字列オブジェクトとして格納されます。

    この [レコード] オプションを選択した場合にのみ、このフィールドを使用できます。

    レコード応答メッセージなし テーブル検索でレコードが返されなかった場合に表示されるメッセージ。メッセージは、文字列か、文字列を返すスクリプトのいずれかです。
    詳細
    このノードを非表示
    次の場合、このノードを条件付きで表示します

    会話でこのノードを表示するための条件を指定するノーコード条件ステートメントまたはローコードスクリプト。条件は [true] と評価される必要があります。

    ヘッダーカード
    挿入 選択リストの上にヘッダーカードを挿入するための切り替えスイッチ。[カードを追加] ダイアログボックスまたはスクリプトを使用できます。

    [挿入] トグルと [サポートが必要ですか (Would you like help)] ラジオボタンが有効になっている、ダイナミック選択肢ユーザー入力コントロールの [ヘッダーカード] セクション。

    詳細については、「静的選択肢またはダイナミック選択肢コントロールにヘッダーカードを挿入する」を参照してください。

    ヘルプが必要ですか
    仮想エージェントデザイナーインターフェイスを使用するか、スクリプトを提供するのかを指定するオプション。次のいずれかのオプションを選択します。
    • はい: スクリプトなしでヘッダー カードを作成するには、[ カードの追加] を選択します。
    • いいえ、スクリプトを使用します: スクリプト ダイアログ ボックスを開くには、[ スクリプトの追加] を選択します。
    このフィールドは、[ヘッダーカード] オプションが有効になっている場合にのみ使用できます。
    [カードを追加] ダイアログボックス
    このセクションは、ヘッダーカードが有効な場合にのみ使用できます。
    カードタイプ
    ヘッダーカードのタイプ。次のいずれかを選択します。
    • テキスト付きの大きな画像
    • テキスト付きの小さな画像
    • YouTube ビデオカード
    ダイアログボックス内のフィールドは選択した内容によって変わります。
    タイトル

    画像またはビデオのタイトル。タイトルテキストを入力するか、データピルまたはスクリプトを使用してタイトルを指定します。

    タイトルリンク ビデオタイトルのハイパーリンクの URL。リンクテキストを入力するか、データピルまたはスクリプトを使用してリンクを指定します。このフィールドが空の場合、タイトルはプレーンテキストとして表示されます。

    このフィールドは、[YouTube ビデオカード] オプションが選択されている場合にのみ使用できます。

    説明 画像またはビデオの簡単な説明。
    YouTube ビデオ ID YouTube URL の末尾にある英数字の文字列。たとえば、URL「https://www.youtube.com/watch?v=AacDp2mUQ1I」の YouTube ビデオ ID は AacDp2mUQ1I です。

    このフィールドは、[YouTube ビデオカード] オプションが選択されている場合にのみ使用できます。

    画像 URL リンク
    画像または画像ファイルの URL リンク。このフィールドを設定するには、次のいずれかを実行します。
    • リンクテキストを入力する、データピルを使用する、またはスクリプトを使用して、URL リンクを指定します。
    • [画像をアップロード] を選択して画像ファイルをアップロードします。

    このフィールドは、 [テキスト付きの大きな画像] または [テキスト付きの小さな画像] オプションが選択されている場合にのみ使用できます。

    画像の代替テキスト アクセシビリティプログラム用に画像を説明する、画面で読み取り可能な代替テキスト。このテキストは画像とともに使用されます。テキストフィールド、データピル、またはスクリプトを使用してテキストを入力します。

    このフィールドは、 [テキスト付きの大きな画像] または [テキスト付きの小さな画像] オプションが選択されている場合にのみ使用できます。

    デフォルト値
    デフォルト値

    質問またはプロンプトに対するユーザー応答の事前定義済みの値です。[デフォルト値の確認] フィールドで定義された応答では、ユーザーにデフォルト値の確認を求めます。ユーザーが「 no」で応答した場合、値は null になります。デフォルト値は、テキスト文字列またはテキストを返すスクリプトのいずれかです。たとえば、ドット連結を使用している場合、デフォルト値は Script Variables > Last username になります。または、スクリプトを使用している場合、デフォルト値は {{vaScripts.lastUsername}} になります。

    確認メッセージ
    入力完了確認

    ノードのインタラクションが完了したときにユーザーに表示されるボット応答。メッセージは、テキスト文字列またはテキストを返すスクリプトのいずれかです。たとえば、ドット連結を使用している場合は、次のようになります。Thanks, (Input Variables > Username)! または、スクリプトを使用している場合、確認応答は次のようになります。Thanks, {{vaInputs.username}}!

    デフォルト値の確認

    [デフォルト値 (Default value)]フィールドの値が正しいことを検証するようにユーザーに求めるメッセージ。このメッセージは、 [プロンプト (Prompt)] フィールドの値の代わりに使用されます。テキスト文字列またはテキストを返すスクリプトのいずれかが含まれる可能性があります。たとえば、ドット連結を使用している場合は、次のようになります。Are you (Input Variables > Username)? またはスクリプトを使用している場合、確認メッセージは次のようになり ます。Are you {{vaScripts.lastUsername}}?

    トピックの切り替え
    このセクションは、インスタンスで NLU 検出が有効な場合にのみ使用できます。
    NLU を有効にしてトピックを切り替える

    このノードの NLU 予測を有効にするオプション。有効にすると、ユーザーは、使用されている入力コントロールのタイプに関係なく、質問に回答するテキストを入力できます。仮想エージェントは、この発言を使用して既存の別のインテントを照合し、ユーザーがトピックを切り替えられるようにします。

    このノードを非表示またはスキップ
    次の場合、このノードを条件付きで表示します

    会話でこのノードを表示するための条件を指定するノーコード条件ステートメントまたはローコードスクリプト。条件は [true] と評価される必要があります。

    次の場合、ユーザーにこのノードのスキップを許可

    会話でユーザーにこのノードをスキップさせるための条件を指定するノーコード条件ステートメントまたはローコードスクリプト。

    NLU トピック検出のためのダイナミック選択肢ユーザー入力コントロールの例

    注:
    仮想エージェントデザイナーコントロールは、他のチャネルでは表示や機能が異なる場合があります。
    入力プロパティ リストプロンプト
    図 : 4. ダイナミック選択肢ユーザー入力コントロールの基本プロパティ
    基本プロパティには、ノード名、プロンプト、NLU エンティティ、選択肢の入力方法リストが含まれます。
    図 : 5. Web UI のダイナミック選択肢リストプロンプト
    ダイナミック選択肢リストは、ユーザーが作成したインシデントのリストを返します。
    選択リストには、ページあたり 10 個のアイテムが表示されます。10 件以上の結果が返された場合:
    • リストの最後に、さらに多くの結果を表示するためのリンクがあります。
    • 検索結果をフィルタリングするための検索アイコン () がプロンプトに表示されます。ユーザーはこのアイコンを選択して検索ボックスを開き、フィルターを入力します。
    図 : 6. ヘッダーカードを含む Web UI ダイナミック選択肢リストのプロンプト
    プロンプトに「何を確認しますか?」と尋ねられ、その後にホテルの写真と見出しが続きます。選択肢には、[ダイニング]、[スイート]、[ファシリティ] があります。
    選択リストには、ページあたり 5 個のアイテムが含まれます。5 個以上の結果が返された場合、リストにはさらに多くの結果を表示するオプションが表示されます。
    注:
    ヘッダーカードを使用すると、検索機能は非表示になります。

    ダイナミック選択肢リスト値の式の例

    (function execute(table) {
            var options = [];
            var gr = new GlideRecordSecure(table);
            gr.addEncodedQuery('active=true');
            gr.setLimit(5);
            gr.query();
            while(gr.next()) {
                options.push({ 'value': gr.getUniqueValue(), 'label': gr.getValue('short_description') });
            }
            return options;
    })(table)
    

    [選択値の式] プロパティのスクリプトは、選択肢のアレイを定義して返します。この例では、スクリプトは、 オプションと呼ばれる配列を作成し、GlideRecord クエリで見つかった各レコードをこの配列に追加します。配列の各要素には、その GlideRecord からのデータを使用しておよびラベルキーに値が与えられます。コントロールの [テーブル] プロパティは、スクリプトによって使用されるテーブルを定義します。このスクリプト例では、 gr.setLimit(5) を使用して、返されるレコードの数を 5 に制限しています。このメソッドを使用すると、返されるレコードで過度に大きな選択リストが作成されないようにすることができます。

    表 : 1. ダイナミック選択肢コントロール値の式のキー
    キー 説明
    value 選択の値です。ユーザーがコントロールから選択すると、この値は変数名プロパティで名前付けされた変数内に格納されます。
    label この選択のために選択リストに表示されるラベルです。

    チャネルサポート

    表 : 2. ダイナミック選択肢ユーザー入力コントロールのチャネルサポート
    チャネル サポート 制約
    Web UI サポート対象 なし
    モバイル UI サポート対象 なし
    Now Assist パネル サポート対象 なし
    Microsoft Teams サポート対象 なし
    Slack サポート対象 ヘッダーカードはサポートされていません。
    Workplace サポート対象 ヘッダーカードはサポートされていません。
    Facebook Messenger サポート対象外 適用外
    SMS Twilio サポート対象 ヘッダーカードはサポートされていません。
    LINE サポート対象外 適用外
    WhatsApp サポート対象 なし
    業務用 Apple Messages サポート対象 なし
    Alexa (音声アシスト機能) サポート対象 画面デバイスの場合は、タッチスクロールを使用します。リンクのクリックはサポートされていません。画面以外のデバイスの場合は、音声ページネーションを使用します。