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

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

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

## 全体図 <a href="#overall" id="overall"></a>

<figure><img src="/files/DXLtRkew5rPRMQIGY9qN" alt=""><figcaption></figcaption></figure>

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

**①カテゴリーで人事を選択→人事領域のQ\&Aから検索→**<mark style="color:red;">**Q\&Aから回答を得られた場合**</mark>**→同じ人事領域で再検索 or TOPのカテゴリー選択に戻る**

**②カテゴリーで人事を選択→人事領域のQ\&Aから検索→**<mark style="color:red;">**該当するQ\&Aがない場合**</mark>**→人事領域のドキュメントから回答生成→同じカテゴリーで再検索(人事Q\&A検索) or TOPのカテゴリー選択に戻る**

**③カテゴリーで総務を選択→総務領域のQ\&Aから検索→**<mark style="color:red;">**Q\&Aから回答を得られた場合**</mark>**→同じ人事領域で再検索 or TOPのカテゴリー選択に戻る**

**④カテゴリーで総務を選択→総務領域のQ\&Aから検索→**<mark style="color:red;">**該当するQ\&Aがない場合**</mark>**→総務領域のドキュメントから回答生成→同じカテゴリーで再検索(総務Q\&A検索) or TOPのカテゴリー選択に戻る**

## フローの構築 <a href="#flow" id="flow"></a>

### カテゴリー選択をするボタンを作成する <a href="#category_button" id="category_button"></a>

<figure><img src="/files/lGZB5A9SWkXCizd1clsl" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/VJnRuJzTdlbHjc1KbUsq" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/Md7rVvNRjx2nEAUCUnpi" alt=""><figcaption></figcaption></figure>

1. **メッセージ欄：**&#x30E6;ーザーに表示するメッセージを入力してください
2. **応答追加：**&#x30E6;ーザーに選択させるボタンなどを作成する場合、チェックを入れてください。
3. **応答を入力してください。：**「応答追加」にチェックを入れると応答の種類を選択できます。\
   　　　　　　　　　　　　　ボタンを作成する場合「ボタン」を選択してください。
4. **オプションを追加：**&#x30E6;ーザーにボタンを表示する際のボタン名を設定できます。

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

<figure><img src="/files/smi1ld21r1k2qKGK0Iqo" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/mw5lGqNygmGe77X8qwQK" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/O2SGm6EqOsyGxd0jCDg2" alt=""><figcaption></figcaption></figure>

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

### カテゴリー(部署)のQ\&Aから検索 <a href="#answer-node-from-qa-category" id="answer-node-from-qa-category"></a>

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

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

<figure><img src="/files/FcsCnoVK3PjM56pCRbwE" alt=""><figcaption></figcaption></figure>

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

<div><figure><img src="/files/M0rMUd6dVegIehClS2Zg" alt=""><figcaption></figcaption></figure> <figure><img src="/files/WzCkFzIz0zcDfUGQZqwW" alt=""><figcaption></figcaption></figure></div>

1. **ノード入る際に表示するメッセージ：**&#x30E6;ーザーに表示するメッセージを入力してください。\
   ここではユーザーに質問を入力してもらうので「質問を入力してください。」と記載します。
2. **対象範囲：**&#x30AB;テゴリーの範囲でQ\&A検索を行う場合、対象範囲に任意のハッシュタグを設定してください。\ <mark style="color:red;">※カテゴリーごとにQ\&Aから回答ノードを作成する場合、設定箇所が異なるのはこちらの部分のみです。</mark>\ <mark style="color:red;">この例では「人事」カテゴリーを選択した後に繋ぐ「Q\&Aから回答ノード」は対象範囲を「＃人事」、「総務」カテゴリーを選択した後に繋ぐ「Q\&Aから回答ノード」は対象範囲を「＃総務」と設定しています。</mark>
3. **”other”オプションの追加：**&#x51;\&Aから回答ノードで「Q\&Aから回答が得られた場合」の分岐を作成します。こちらをＯＮにすることで下記の分岐が作成されるので設定してください。<br>

   <figure><img src="/files/drZP1gKuz6kxw50752Hy" alt=""><figcaption></figcaption></figure>
4. **応答の保存先：**&#x3053;こではユーザーがQ\&Aから回答ノードで入力した質問文を「@QUERY」という変数に保管させます。ここで保管した「質問文」は回答生成ノードの分岐に進んだ際に「ユーザーの質問を引用するため(何度も質問を入力させないため)」に設定をします。\ <mark style="color:red;">※例では「＠QUERY」の変数を利用していますが、新たに作成した任意の変数を指定しても問題ありません。任意の変数を使用する場合、変数の種類は「会話変数」「文字列」を設定してください。</mark>

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

<figure><img src="/files/20vL6Wo0KqcQxc5a0UEs" alt=""><figcaption></figcaption></figure>

### カテゴリー(部署)のQ\&Aから検索し、回答が得られた場合(”その他”の分岐)→同じ領域で再検索 or TOPのカテゴリー選択に戻るボタンを作成する <a href="#other-option-branches" id="other-option-branches"></a>

<figure><img src="/files/1dU0thKTX0Y3NbTeNIr6" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="/files/bD8XMlCCy7x5MmkUKbtl" alt=""><figcaption></figcaption></figure>

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

～完成イメージ～

<figure><img src="/files/aWuXxL9o0rrf6jG5LnJo" alt=""><figcaption></figcaption></figure>

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

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

1. 各カテゴリーのQ\&Aから回答ノードの「その他」の分岐から「同じ領域で再検索 or TOPのカテゴリー選択に戻るボタン」のある質問応答ノードへ矢印を繋ぐ
2. 「同じカテゴリーで検索」のボタンから直前の「各カテゴリーのQ\&Aから回答ノード」に矢印を繋ぐ(緑色の矢印)
3. 「TOPに戻る」のボタンから最初の「カテゴリー(部署)を選択するボタンがある質問応答ノード」に矢印を繋ぐ(赤色の矢印)

<figure><img src="/files/a22lnGDTjojmuMoqVcnK" alt=""><figcaption></figcaption></figure>

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

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

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

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

<figure><img src="/files/VvEL8JcKOvUdWQnNxLXd" alt=""><figcaption></figcaption></figure>

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

<div><figure><img src="/files/9upxxuHi8AAa42spUShg" alt=""><figcaption></figcaption></figure> <figure><img src="/files/XbUDcTERG6OvX2M7rUSt" alt=""><figcaption></figcaption></figure></div>

1. **質問の入力方式：**&#x524D;段で設定したQ\&Aから回答ノードで入力した質問文を「@QUERY」という変数に保管させているので「ユーザーの質問を引用するため(何度も質問を入力させないため)」に変数を選択します。
2. **質問変数：**&#x524D;段で設定した[「Q\&Aから回答ノード](#answer-node-from-the-q-and-a-category)」で「応答の保存先」で指定した変数を設定します。
3. **ベースモデル：**&#x56DE;答生成で使用するLLMモデルを選択します。\
   モデルによって精度が変わりますので事前に検証されることをおすすめします。
4. **グループプロンプト：**&#x56DE;答生成をする際のプロンプトを選択します。グループプロンプトは弊社側でご用意した標準のプロンプトがありますので基本的にはそちらをご利用ください。
5. **検索ソース：**&#x56DE;答生成をする際に回答のソースとして利用したいものを選択します。\
   例では事前にアップロードされた社内ドキュメントを回答ソースとして設定しています。
6. **ドキュメントの適用範囲：**&#x30AB;テゴリーの範囲でドキュメントから回答生成を行う場合、対象範囲に任意のハッシュタグを設定してください。\
   &#x20;<mark style="color:red;">※カテゴリーごとに回答生成ノードを作成する場合、設定箇所が異なるのはこちらの部分のみです。</mark>\ <mark style="color:red;">この例では、「人事」カテゴリーを選択した後に繋がる「回答生成ノード」は対象範囲を「＃人事」、「総務」カテゴリーを選択した後に繋がる「回答生成ノード」は対象範囲を「＃総務」と設定しています。</mark>
7. **回答生成後：**&#x56DE;答が生成された後のアクションを選択できます。ここでは回答生成後に同じ領域で再検索 or TOPのカテゴリー選択に戻るボタンのノードに繋ぐため、「次のノードへ」を選択します。

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

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

1. 各カテゴリーのQ\&Aから回答ノードの「”該当する質問がありません。”を選択した場合」・「(類似の質問が提示されなかった場合)」の分岐から「同じカテゴリーのドキュメントから回答生成ノード」へ矢印を繋ぐ(オレンジ色の矢印)
2. 「同じカテゴリーのドキュメントから回答生成ノードの「回答生成に成功した場合」の分岐からそれぞれのカテゴリーの「Q\&Aから回答ノード」の”その他”分岐から繋がっている「同じ領域で再検索 or TOPのカテゴリー選択に戻るボタン」のある質問応答ノードへ矢印を繋ぐ(黒色の矢印)

<figure><img src="/files/fZSdodQUp5zX4XFuGr0T" alt=""><figcaption></figcaption></figure>

### 回答生成に失敗した場合のエラーメッセージを表示する <a href="#error-message" id="error-message"></a>

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

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

<figure><img src="/files/7eOIpwwrVbmAGfgxNNpm" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/aZgyrgHk2gEhViFHIeaZ" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="/files/c6IXjjV4H1TU5LKD8bDN" alt=""><figcaption></figcaption></figure>

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.allganize.ai/alli-llm-app-market/practice-guide/category-search-qa-and-ga.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
