【アプリ例】変数をダウンロードノードを利用して会話内のデータを取得する
このガイドでは、「変数をダウンロード」ノードを活用し、会話フローの中で利用者がどのような質問しているのか・どのFAQを選択したのか・どんな回答が生成されたのか・回答に満足したのか否かなどのデータを取得し確認することが出来ます。
会話内で取得したデータを活用するフローの作成方法を下記の例2つでご紹介します。
例①:カテゴリー選択→QAから回答→満足度確認のフローで会話内のデータを取得する 例②:例②質問入力→回答生成ノードで回答→満足度の確認のフローで会話内のデータを取得する
会話内で取得できるデータの例としては、主に以下が挙げられます。
・ユーザーがクリックしたカテゴリーボタン ・ユーザーの質問内容 ・提示されたQAデータ ・フロー内で設計した満足度評価(「はい」「いいえ」など) ・回答生成ノードで作成された文章や結果
これらのデータを効率的に取得・活用することで、ユーザー行動の分析がしやすくなります。 取得したいデータを組み合せてぜひご利用ください。
例①カテゴリー選択→QAから回答→満足度確認のフローで会話内のデータを取得する
全体図

大まかな流れとしては下記になります。
・カテゴリーで人事を選択→人事領域のQ&Aから検索→Q&Aから回答を得られた場合→ 回答に満足したかどうかを確認する「はい」・「いいえ」の選択→変数をダウンロードノードで「カテゴリー選択」「質問文」「提示されたQAデータ」「回答の満足度の有無」を取得する →TOPのカテゴリー選択に戻る
変数をダウンロードノードで取得するデータ
・カテゴリー選択で何を選択したか
・ユーザーが入力した質問
・ユーザーに選択されたFAQデータの質問
・ユーザーに選択されたFAQデータの回答
・回答の満足度の有無
フローの構築
カテゴリー選択をするボタンを作成する

エンドユーザーに最初に何かしらのカテゴリーを選択させるようなボタンを作成する場合、「会話・質問応答ノード」を使用します。

会話・質問応答ノード内を下記の手順に沿って設定します。


メッセージ欄:ユーザーに表示するメッセージを入力してください
応答追加:ユーザーに選択させるボタンなどを作成する場合、チェックを入れてください。
応答を入力してください。:「応答追加」にチェックを入れると応答の種類を選択できます。 ボタンを作成する場合「ボタン」を選択してください。
オプションを追加:ユーザーにボタンを表示する際のボタン名を設定できます。 オプションを追加ボタンを押すとオプションタイプを選択する画面が表示されますので「一般」をクリックしてください。
クリック後、ボタン名を設定できる画面に遷移しますので、回答オプションにボタン名を入力し、適用ボタンを押してください。
今回のフローでは「人事」「総務」の2つのボタンを用意しますので4.を繰り返して「総務」ボタンも作成してください。
応答内容を以下の変数に保存する:カテゴリー選択で用意した「人事」「総務」のボタンのどちらがクリックされたのかを一時的に保存するために変数(@CATEGORY)を設定します。 ※ここで設定した変数をフローの後半で「変数をダウンロードノード」を使ってダウンロードします。 ※例では「@CATEGORY」の変数を利用していますが、新たに作成した任意の変数を指定しても問題ありません。任意の変数を使用する場合、変数の種類は「会話変数」「文字列」を設定してください。
@CATEGORYという名前の変数が存在しない場合、プロジェクト設定>変数 内のカスタムタブから「会話変数(外部データ連携において利用する変数。Alli内で取得後は各種ノードで利用可能)」右横の追加ボタンから新規で作成が可能です。
※本ガイドで利用している変数は全て会話変数>タイプ「文字列」で作成されたものを利用しています。
カテゴリー(部署)のQ&Aから検索
※選択したカテゴリーからQ&Aを検索させたい場合、事前にQ&Aデータに任意のハッシュタグを付与する必要があります。
ユーザーにカテゴリーを選択させ、その先でカテゴリーの範囲でQ&A検索を行う場合、「Q&Aから回答ノード」を使用します。

Q&Aから回答ノード内を下記の手順に沿って設定します。


ノード入る際に表示するメッセージ:ユーザーに表示するメッセージを入力してください。 ここではユーザーに質問を入力してもらうので「質問を入力してください。」と記載します。
対象範囲:カテゴリーの範囲でQ&A検索を行う場合、対象範囲に任意のハッシュタグを設定してください。 ※カテゴリーごとにQ&Aから回答ノードを作成する場合、設定箇所が異なるのはこちらの部分のみです。 この例では「人事」カテゴリーを選択した後に繋ぐ「Q&Aから回答ノード」は対象範囲を「#人事」、「総務」カテゴリーを選択した後に繋ぐ「Q&Aから回答ノード」は対象範囲を「#総務」と設定しています。
”other”オプションの追加:Q&Aから回答ノードで「Q&Aから回答が得られた場合」の分岐を作成します。こちらをONにすることで下記の分岐が作成されるので設定してください。
応答の保存先:ここではユーザーがQ&Aから回答ノードで入力した質問文を一時的に保存するために変数(@QUERY)を設定します。 ※ここで設定した変数をフローの後半で「変数をダウンロードノード」を使ってダウンロードします。 ※例では「@QUERY」の変数を利用していますが、新たに作成した任意の変数を指定しても問題ありません。任意の変数を使用する場合、変数の種類は「会話変数」「文字列」を設定してください。
ここまでの手順で3つのノードが作成できますので、下記のように矢印で繋ぎます。

カテゴリー(部署)のQ&Aから検索し、回答が得られた場合(”その他”の分岐)→ 回答の満足度を問う「はい」「いいえ」を選択させる

回答の満足度を問うボタンを作成する場合、「会話・質問応答ノード」を使用します。

会話・質問応答ノード内を下記の手順に沿って設定します。

メッセージ欄:ユーザーに表示するメッセージを入力してください
応答追加:ユーザーに選択させるボタンなどを作成する場合、チェックを入れてください。
応答を入力してください。:「応答追加」にチェックを入れると応答の種類を選択できます。 ボタンを作成する場合「ボタン」を選択してください。
オプションを追加:ユーザーにボタンを表示する際のボタン名を設定できます。 オプションを追加ボタンを押すとオプションタイプを選択する画面が表示されますので「一般」をクリックしてください。
クリック後、ボタン名を設定できる画面に遷移しますので、回答オプションにボタン名を入力し、適用ボタンを押してください。
今回のフローでは「はい」「いいえ」の2つのボタンを用意しますので4.を繰り返して「いいえ」ボタンも作成してください。
応答内容を以下の変数に保存する:用意した「はい」「いいえ」のボタンのどちらがクリックされたのかを一時的に保存するために変数(@RESOLUTION)を設定します。 ※ここで設定した変数をフローの後半で「変数をダウンロードノード」を使ってダウンロードします。 ※例では「@RESOLUTION」の変数を利用していますが、新たに作成した任意の変数を指定しても問題ありません。任意の変数を使用する場合、変数の種類は「会話変数」「文字列」を設定してください。
このノードはカテゴリーの数だけ作成します。ノードは複製(コピー)できますので、コピー機能をご利用ください。
「はい」・「いいえ」を選択後→変数をダウンロードノードでデータを取得
各ノードで設定した変数の値を取得する場合、「変数をダウンロードノード」を使用します。

変数をダウンロードノード内で以下の6つの変数をダウンロードするように設定します。
@CATEGORY:カテゴリー選択ボタンの値 @QUERY:ユーザーの入力した質問文 @FAQ_SELECTED_QUESTION:QA検索候補内からユーザーが選択したQAデータの質問文 @FAQ_SELECTED_ANSWER:QA検索候補内からユーザーが選択したQAデータの回答文 @RESOLUTION:回答の満足度の「はい」「いいえ」の値
変数DLノード内の「ダウンロードする変数」は設定した順番でデータがダウンロードされます。設定してからの順番変更はできないため、取得したいデータ順に変数の設定をお願いいたします。

下記の2つの変数は弊社システム上で保持している変数となるため、QAから回答ノードを利用した先で変数をダウンロードノードを設定した場合に「ダウンロードする変数」として指定するのみでデータを取得することが可能です。
@FAQ_SELECTED_QUESTION:QA検索候補内からユーザーが選択したQAデータの質問文 @FAQ_SELECTED_ANSWER:QA検索候補内からユーザーが選択したQAデータの回答文
このノードはカテゴリー選択の数だけ(この例は2つ)作成します。ノードは複製(コピー)できますので、コピー機能をご利用ください。
ここまで作成が完了したら下記の手順でフローを繋いでください。
各カテゴリーのQ&Aから回答ノードの「その他」の分岐から「回答の満足度を確認するボタン」のある質問応答ノードへ矢印を繋ぐ(黄色の矢印)
「はい」と「いいえ」のボタンの先で各「変数をダウンロードノード」を接続する(赤色の矢印)

「変数をダウンロードノード」をフロー内に設置いただく際の注意点
変数をダウンロードノードはこのノードを経由したデータのみを取得するようになっています。上記で提示したフローは満足度をクリックしたデータ後にのみデータ取得ができるようになっており、満足度の「はい」「いいえ」を選択せずに離脱したユーザーのデータは取得しません。
そのため、ユーザーが離脱することも想定して満足度の「はい」「いいえ」までのデータも取得しておきたいなどの希望がある場合、「Q&Aから回答ノード」と「満足度のノード」の間に「@CATEGORY」「@QUERY」「@FAQ_SELECTED_QUESTION」「@FAQ_SELECTED_ANSWER」までの変数を取得する変数をダウンロードノードを設置してください。
カテゴリー(部署)のQ&Aから検索し、回答が得られなかった場合(”該当する質問がありません”の分岐・”(類似の質問が提示されなかった場合)”の分岐)→ 変数をダウンロードノードで一部のデータを取得
各ノードで設定した変数の値を取得する場合、「変数をダウンロードノード」を使用します。

変数をダウンロードノード内で以下の2つの変数をダウンロードするように設定します。
@CATEGORY:カテゴリー選択ボタンの値 @QUERY:ユーザーの入力した質問文
変数DLノード内の「ダウンロードする変数」は設定した順番でデータがダウンロードされます。設定してからの順番変更はできないため、取得したいデータ順に変数の設定をお願いいたします。

ここで設定する「ダウンロードする変数」ではQAから回答ノードで何もQAデータを選択していないため、 @FAQ_SELECTED_QUESTIONや@FAQ_SELECTED_ANSWERは取得することができません。 また@RESOLUTIONはFAQデータの回答の満足度を取得するように設計しているため、ここでは取得データの対象とはなりません。
そのため、取得するデータは上記の2つを設定します。
このノードはカテゴリー選択の数だけ(この例は2つ)作成します。ノードは複製(コピー)できますので、コピー機能をご利用ください。
ここまで作成が完了したら下記の手順でフローを繋いでください。
各カテゴリーのQ&Aから回答ノードの「”該当する質問がありません”を選択した場合」と「(類似の質問が提示されなかった場合)」の分岐から「変数をダウンロードノード」へ矢印を繋ぐ(緑色の矢印)

TOPのカテゴリー選択に戻るメッセージを作成する
変数をダウンロードノードを経由し、TOPに戻るメッセージを表示する場合「会話質問応答ノード」を使用します。

ユーザーに表示するメッセージを設定してください。 この例では「ご利用ありがとうございます!TOPに戻ります。」と設定しています。

ここまで作成が完了したら下記の手順でフローを繋いでください。
全ての「変数をダウンロードノード」からTOPに戻るメッセージの会話応答ノードへ矢印を繋ぐ(黒色枠と黒色矢印)
TOPに戻るメッセージを表示する「会話応答ノード」からTOPのカテゴリー選択をする「質問応答ノード」へ矢印を繋ぐ(青色枠と青色の矢印)

以上で例①のフローは完成です。
変数をダウンロードノードで取得したデータをExcelファイルでダウンロードする方法
変数をダウンロードノードを経由したデータについてはアプリ公開後、管理画面内の分析メニュー右上の「LLM分析画面を表示」をクリックすると「Answerbot分析画面を表示」が出てきますのでクリックして切り替え後、ダウンロードボタンをクリックし、「変数をダウンロードノードのデータを含める」にチェックをいれてダウンロードください。Excelファイルが2つダウンロードされ、その片方が変数をダウンロードノードのデータになります。 ※プレビュー画面で実施したデータは取得できませんのでご注意ください。

例②質問入力→回答生成ノードで回答→満足度の確認のフローで会話内のデータを取得する
全体図

大まかな流れとしては下記になります。
・質問入力→回答生成ノードで回答→ 満足度確認する「はい」・「いいえ」の選択→変数をダウンロードノードで「質問文」「生成された回答内容」「満足度のはい・いいえ」を取得する →TOPのカテゴリー選択に戻る
変数をダウンロードノードで取得するデータ
・ユーザーが入力した質問
・生成された回答
・解決の有無
フローの構築
質問入力する

回答生成ノードを利用したフローで「ユーザーが入力した質問」を変数をダウンロードノードを利用して取得したい場合、質問応答ノード」を使用します。

会話・質問応答ノード内を下記の手順に沿って設定します。

メッセージ欄:ユーザーに表示するメッセージを入力してください
応答追加:ユーザーに選択させるボタンなどを作成する場合、チェックを入れてください。
応答を入力してください。:「応答追加」にチェックを入れると応答の種類を選択できます。 テキスト入力を許可する場合「テキスト」を選択してください。
応答内容を以下の変数に保存する:ここではユーザーが入力した質問文を一時的に保存するために変数(@QUERY)を設定します。 ※ここで設定した変数をフローの後半で「変数をダウンロードノード」を使ってダウンロードします。 ※例では「@QUERY」の変数を利用していますが、新たに作成した任意の変数を指定しても問題ありません。任意の変数を使用する場合、変数の種類は「会話変数」「文字列」を設定してください。
回答生成ノードを使って回答を生成する
ユーザーが入力した質問に対してドキュメントやWebから回答生成を行う場合、「回答生成ノード」を使用します。

回答生成ノード内を下記の手順に沿って設定します。


質問の入力方式:前段で設定したQ&Aから回答ノードで入力した質問文を「@QUERY」という変数に保管させているので「ユーザーの質問を引用するため(何度も質問を入力させないため)」に変数を選択します。
質問変数:前段で設定した「Q&Aから回答ノード」で「応答の保存先」で指定した変数を設定します。
実行するタイプ:「エージェント」または「グループプロンプト」から選択します。 今回はグループプロンプトを選択します。
ベースモデル:回答生成で使用するLLMモデルを選択します。 モデルによって精度が変わりますので事前に検証されることをおすすめします。
グループプロンプト:回答生成をする際のプロンプトを選択します。グループプロンプトは弊社側でご用意した標準のプロンプトがありますので基本的にはそちらをご利用ください。
検索ソース:回答生成をする際に回答のソースとして利用したいものを選択します。 例では事前にアップロードされた社内ドキュメントを回答ソースとして設定しています。 ドキュメントの適用範囲:特定の検索範囲でドキュメントから回答生成を行う場合、対象範囲に任意のフォルダやハッシュタグを設定してください。
応答内容を以下の変数に保存する:生成された結果をを一時的に保存するために変数(@ANSWER)を設定します。 ※ここで設定した変数をフローの後半で「変数をダウンロードノード」を使ってダウンロードします。 ※例では「@ANSWER」の変数を利用していますが、新たに作成した任意の変数を指定しても問題ありません。任意の変数を使用する場合、変数の種類は「会話変数」「文字列」を設定してください。
回答生成後:回答が生成された後のアクションを選択できます。ここでは回答生成後のノードに繋ぐため、「次のノードへ」を選択します。
ここまで作成が完了したら下記の手順でフローを繋いでください。
質問を入力してもらうための「質問応答ノード」から「回答生成ノード」へ矢印を繋ぐ(赤色の枠)

回答生成ノードで応答が返ってきた場合(回答生成に成功した場合)→ 回答の満足度を問う「はい」「いいえ」を選択させる

回答の満足度を問うボタンを作成する場合、「会話・質問応答ノード」を使用します。

会話・質問応答ノード内を下記の手順に沿って設定します。

メッセージ欄:ユーザーに表示するメッセージを入力してください
応答追加:ユーザーに選択させるボタンなどを作成する場合、チェックを入れてください。
応答を入力してください。:「応答追加」にチェックを入れると応答の種類を選択できます。 ボタンを作成する場合「ボタン」を選択してください。
オプションを追加:ユーザーにボタンを表示する際のボタン名を設定できます。 オプションを追加ボタンを押すとオプションタイプを選択する画面が表示されますので「一般」をクリックしてください。
クリック後、ボタン名を設定できる画面に遷移しますので、回答オプションにボタン名を入力し、適用ボタンを押してください。
今回のフローでは「はい」「いいえ」の2つのボタンを用意しますので4.を繰り返して「いいえ」ボタンも作成してください。
応答内容を以下の変数に保存する:用意した「はい」「いいえ」のボタンのどちらがクリックされたのかを一時的に保存するために変数(@RESOLUTION)を設定します。 ※ここで設定した変数をフローの後半で「変数をダウンロードノード」を使ってダウンロードします。 ※例では「@RESOLUTION」の変数を利用していますが、新たに作成した任意の変数を指定しても問題ありません。任意の変数を使用する場合、変数の種類は「会話変数」「文字列」を設定してください。
「はい」・「いいえ」を選択後→変数をダウンロードノードでデータを取得
各ノードで設定した変数の値を取得する場合、「変数をダウンロードノード」を使用します。

変数をダウンロードノード内で以下の3つの変数をダウンロードするように設定します。
@QUERY:ユーザーの入力した質問文 @ANSWER:LLMが返答した内容 @RESOLUTION:回答の満足度の「はい」「いいえ」の値
変数DLノード内の「ダウンロードする変数」は設定した順番でデータがダウンロードされます。設定してからの順番変更はできないため、取得したいデータ順に変数の設定をお願いいたします。

TOPのカテゴリー選択に戻るメッセージを作成する
変数をダウンロードノードを経由し、TOPに戻るメッセージを表示する場合「会話質問応答ノード」を使用します。

ユーザーに表示するメッセージを設定してください。 この例では「ご利用ありがとうございます!TOPに戻ります。」と設定しています。

ここまで作成が完了したら下記の手順でフローを繋いでください。
全ての「変数をダウンロードノード」からTOPに戻るメッセージの会話応答ノードへ矢印を繋ぐ(黒色枠と黒色矢印)
TOPに戻るメッセージを表示する「会話応答ノード」からTOPのカテゴリー選択をする「質問応答ノード」へ矢印を繋ぐ(青色枠と青色の矢印)
ここまで作成が完了したら下記の手順でフローを繋いでください。
回答生成ノードの「回答生成に成功した場合」の分岐から「回答の満足度を確認するボタン」のある質問応答ノードへ矢印を繋ぐ(緑色の枠と緑色の矢印)
「はい」と「いいえ」のボタンの先で「変数をダウンロードノード」を接続する(赤色の枠と赤色の矢印)
「変数をダウンロードノード」からTOPに戻るメッセージの会話応答ノードへ矢印を繋ぐ(黒色矢印)
TOPに戻るメッセージを表示する「会話応答ノード」からTOPの質問を入力をする「質問応答ノード」へ矢印を繋ぐ(青色枠と青色の矢印)

回答生成ノードで応答が返ってこない場合(回答生成に失敗した場合)→ 変数をダウンロードノードで一部のデータを取得
各ノードで設定した変数の値を取得する場合、「変数をダウンロードノード」を使用します。

変数をダウンロードノード内で以下の変数をダウンロードするように設定します。
@QUERY:ユーザーの入力した質問文
変数DLノード内の「ダウンロードする変数」は設定した順番でデータがダウンロードされます。設定してからの順番変更はできないため、取得したいデータ順に変数の設定をお願いいたします。

回答生成ノードで応答が返ってこない場合(回答生成に失敗した場合)はLLMへの通信が失敗した分岐になるため回答は表示されません。
そのため、ここで設定する「ダウンロードする変数」では取得するデータは上記の1つのみを設定します。
回答生成に失敗した場合のエラーメッセージを表示する
回答生成ノードでは「通信エラー」が発生する場合があります。その場合、「回答生成ノード」の「回答生成に失敗した場合」の分岐に進むので、その場合にエラーメッセージを表示するフローを作成します。
エンドユーザーにエラーメッセージを表示する場合「会話質問応答ノード」を使用します。

ユーザーに表示するメッセージを設定してください。 この例では「エラーが発生しました。もう一度最初からやり直してください。」と設定しています。

ここまで作成が完了したら下記の手順でフローを繋いでください。
回答生成ノードの「回答生成に失敗した場合」の分岐から変数をダウンロードノードへ矢印を繋ぐ(黄色の枠と黄色の矢印)
「変数をダウンロードノード」からエラーメッセージを表示する「会話応答ノード」へ矢印を繋ぐ(紫の枠と紫の矢印)
エラーメッセージを表示する「会話応答ノード」からTOPの質問を入力する「質問応答ノード」へ矢印を繋ぐ(赤色の枠と赤色の矢印)

以上で例②のフローは完成です。
変数をダウンロードノードで取得したデータをExcelファイルでダウンロードする方法
変数をダウンロードノードを経由したデータについてはアプリ公開後、管理画面内の分析メニュー右上の「LLM分析画面を表示」をクリックすると「Answerbot分析画面を表示」が出てきますのでクリックして切り替え後、ダウンロードボタンをクリックし、「変数をダウンロードノードのデータを含める」にチェックをいれてダウンロードください。Excelファイルが2つダウンロードされ、その片方が変数をダウンロードノードのデータになります。 ※プレビュー画面で実施したデータは取得できませんのでご注意ください。

最終更新