【アプリ例】カテゴリー選択→Q&Aから回答→該当するQ&Aがない場合→ドキュメントから回答生成を行う

このガイドでは「カテゴリー(部署)選択」→「カテゴリー(部署)のQ&Aから回答」→該当するQ&Aがない場合「カテゴリー(部署)のドキュメントから回答生成」へと繋がるアプリの作成方法を解説します。

このアプリは社内問い合わせ業務の工数削減などで多くのお客様が利用していますので、ガイドを参考に自社に合わせた形にアレンジしてみてください。

全体図

大まかな流れとしては下記の4つです。

①カテゴリーで人事を選択→人事領域のQ&Aから検索→Q&Aから回答を得られた場合→同じ人事領域で再検索 or TOPのカテゴリー選択に戻る

②カテゴリーで人事を選択→人事領域のQ&Aから検索→該当するQ&Aがない場合→人事領域のドキュメントから回答生成→同じカテゴリーで再検索(人事Q&A検索) or TOPのカテゴリー選択に戻る

③カテゴリーで総務を選択→総務領域のQ&Aから検索→Q&Aから回答を得られた場合→同じ人事領域で再検索 or TOPのカテゴリー選択に戻る

④カテゴリーで総務を選択→総務領域のQ&Aから検索→該当するQ&Aがない場合→総務領域のドキュメントから回答生成→同じカテゴリーで再検索(総務Q&A検索) or TOPのカテゴリー選択に戻る

フローの構築

カテゴリー選択をするボタンを作成する

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

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

  1. メッセージ欄:ユーザーに表示するメッセージを入力してください

  2. 応答追加:ユーザーに選択させるボタンなどを作成する場合、チェックを入れてください。

  3. 応答を入力してください。:「応答追加」にチェックを入れると応答の種類を選択できます。              ボタンを作成する場合「ボタン」を選択してください。

  4. オプションを追加:ユーザーにボタンを表示する際のボタン名を設定できます。

オプションを追加ボタンを押すとオプションタイプを選択する画面が表示されますので「一般」をクリックしてください。

クリック後、ボタン名を設定できる画面に遷移しますので、回答オプションにボタン名を入力し、適用ボタンを押してください。

今回のフローでは「人事」「総務」の2つのボタンを用意しますので4.を繰り返して「総務」ボタンも作成してください。

カテゴリー(部署)のQ&Aから検索

※選択したカテゴリーからQ&Aを検索させたい場合、事前にQ&Aデータに任意のハッシュタグを付与する必要があります。

ユーザーにカテゴリーを選択させ、その先でカテゴリーの範囲でQ&A検索を行う場合、「Q&Aから回答ノード」を使用します。

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

  1. ノード入る際に表示するメッセージ:ユーザーに表示するメッセージを入力してください。 ここではユーザーに質問を入力してもらうので「質問を入力してください。」と記載します。

  2. 対象範囲:カテゴリーの範囲でQ&A検索を行う場合、対象範囲に任意のハッシュタグを設定してください。 ※カテゴリーごとにQ&Aから回答ノードを作成する場合、設定箇所が異なるのはこちらの部分のみです。 この例では「人事」カテゴリーを選択した後に繋ぐ「Q&Aから回答ノード」は対象範囲を「#人事」、「総務」カテゴリーを選択した後に繋ぐ「Q&Aから回答ノード」は対象範囲を「#総務」と設定しています。

  3. ”other”オプションの追加:Q&Aから回答ノードで「Q&Aから回答が得られた場合」の分岐を作成します。こちらをONにすることで下記の分岐が作成されるので設定してください。

  4. 応答の保存先:ここではユーザーがQ&Aから回答ノードで入力した質問文を「@QUERY」という変数に保管させます。ここで保管した「質問文」は回答生成ノードの分岐に進んだ際に「ユーザーの質問を引用するため(何度も質問を入力させないため)」に設定をします。 ※例では「@QUERY」の変数を利用していますが、新たに作成した任意の変数を指定しても問題ありません。任意の変数を使用する場合、変数の種類は「会話変数」「文字列」を設定してください。

ここまでの手順で3つのノードが作成できますので、下記のように矢印で繋ぎます。

カテゴリー(部署)のQ&Aから検索し、回答が得られた場合(”その他”の分岐)→同じ領域で再検索 or TOPのカテゴリー選択に戻るボタンを作成する

カテゴリーそれぞれの範囲でQ&Aから検索し回答が得られた場合、同じ領域で再検索 or TOPのカテゴリー選択に戻るボタンを用意します。

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

ボタンの作成方法はカテゴリー選択をするボタンを作成すると同様の手順で作成してください。

~完成イメージ~

このノードはカテゴリーの数だけ作成します。ノードは複製(コピー)できますので、コピー機能をご利用ください。

ここまで作成が完了したら下記の手順でフローを繋いでください。

  1. 各カテゴリーのQ&Aから回答ノードの「その他」の分岐から「同じ領域で再検索 or TOPのカテゴリー選択に戻るボタン」のある質問応答ノードへ矢印を繋ぐ

  2. 「同じカテゴリーで検索」のボタンから直前の「各カテゴリーのQ&Aから回答ノード」に矢印を繋ぐ(緑色の矢印)

  3. 「TOPに戻る」のボタンから最初の「カテゴリー(部署)を選択するボタンがある質問応答ノード」に矢印を繋ぐ(赤色の矢印)

カテゴリー(部署)のQ&Aから検索し、該当するQ&Aがない(”該当する質問がありません。”を選択した場合の分岐・(類似の質問が提示されなかった場合)の分岐)場合→同じカテゴリーのドキュメントから回答を生成する

※選択したカテゴリーのドキュメントから回答を生成させたい場合、事前にドキュメントに任意のハッシュタグを付与する必要があります。

選択したカテゴリー内でQ&A検索をし、Q&Aから回答が得られなかった場合、同じカテゴリー内のドキュメントから回答を生成するように設定します。

カテゴリーの範囲でドキュメントから回答生成を行う場合、「回答生成ノード」を使用します。

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

  1. 質問の入力方式:前段で設定したQ&Aから回答ノードで入力した質問文を「@QUERY」という変数に保管させているので「ユーザーの質問を引用するため(何度も質問を入力させないため)」に変数を選択します。

  2. 質問変数:前段で設定した「Q&Aから回答ノード」で「応答の保存先」で指定した変数を設定します。

  3. ベースモデル:回答生成で使用するLLMモデルを選択します。 モデルによって精度が変わりますので事前に検証されることをおすすめします。

  4. グループプロンプト:回答生成をする際のプロンプトを選択します。グループプロンプトは弊社側でご用意した標準のプロンプトがありますので基本的にはそちらをご利用ください。

  5. 検索ソース:回答生成をする際に回答のソースとして利用したいものを選択します。 例では事前にアップロードされた社内ドキュメントを回答ソースとして設定しています。

  6. ドキュメントの適用範囲:カテゴリーの範囲でドキュメントから回答生成を行う場合、対象範囲に任意のハッシュタグを設定してください。 ※カテゴリーごとに回答生成ノードを作成する場合、設定箇所が異なるのはこちらの部分のみです。 この例では、「人事」カテゴリーを選択した後に繋がる「回答生成ノード」は対象範囲を「#人事」、「総務」カテゴリーを選択した後に繋がる「回答生成ノード」は対象範囲を「#総務」と設定しています。

  7. 回答生成後:回答が生成された後のアクションを選択できます。ここでは回答生成後に同じ領域で再検索 or TOPのカテゴリー選択に戻るボタンのノードに繋ぐため、「次のノードへ」を選択します。

このノードはカテゴリーの数だけ作成します。この例では「人事」「総務」で2つ作成しています。 ※ノードは複製(コピー)できますので、コピー機能をご利用ください。

ここまで作成が完了したら下記の手順でフローを繋いでください。

  1. 各カテゴリーのQ&Aから回答ノードの「”該当する質問がありません。”を選択した場合」・「(類似の質問が提示されなかった場合)」の分岐から「同じカテゴリーのドキュメントから回答生成ノード」へ矢印を繋ぐ(オレンジ色の矢印)

  2. 「同じカテゴリーのドキュメントから回答生成ノードの「回答生成に成功した場合」の分岐からそれぞれのカテゴリーの「Q&Aから回答ノード」の”その他”分岐から繋がっている「同じ領域で再検索 or TOPのカテゴリー選択に戻るボタン」のある質問応答ノードへ矢印を繋ぐ(黒色の矢印)

回答生成に失敗した場合のエラーメッセージを表示する

回答生成ノードでは「通信エラー」が発生する場合があります。その場合、「回答生成ノード」の「回答生成に失敗した場合」の分岐に進むので、その場合にエラーメッセージを表示するフローを作成します。

エンドユーザーにエラーメッセージを表示する場合「会話質問応答ノード」を使用します。

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

ここまで作成が完了したら下記の手順でフローを繋いでください。

  1. 「同じカテゴリーのドキュメントから回答生成ノードの「回答生成に失敗した場合」の分岐からエラーメッセージの会話応答ノードへ矢印を繋ぐ(青色の矢印)

  2. エラーメッセージを表示する「会話応答ノード」からTOPのカテゴリー選択をする「質問応答ノード」へ矢印を繋ぐ(赤色の矢印)

以上でアプリは完成です。

最終更新