> For the complete documentation index, see [llms.txt](https://docs.allganize.ai/alli-llm-app-market/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.allganize.ai/alli-llm-app-market/practice/apuri/category-search-ga.md).

# 【アプリ例】カテゴリー選択→ドキュメントから回答生成を行う

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

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

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FOTzwjtn5ZPdL7FrbOD3v%2Fimage.png?alt=media&amp;token=76a5d7da-28a1-49e5-8449-03abcdbe2005" alt=""><figcaption></figcaption></figure>

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

**①カテゴリーで人事を選択→人事領域のドキュメントから回答生成→同じカテゴリーで再検索(人事ドキュメントから回答生成) or TOPのカテゴリー選択に戻る**

**②カテゴリーで総務を選択→総務領域のドキュメントから回答生成→同じカテゴリーで再検索(総務ドキュメンとから回答生成) or TOPのカテゴリー選択に戻る**

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

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FRhJqAuNaI3HD26ETAJ08%2Fimage.png?alt=media&amp;token=2c52da4b-c1cf-4301-bf72-1301f7a4af30" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2F2Egox4HQdIhp4w0Xs9R6%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-10-10%2014.21.25.png?alt=media&amp;token=81f59c12-36ee-4e68-9d12-4bd92a6f2d31" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FhGNIj9cypK0sCOB3nVzj%2Fimage.png?alt=media&amp;token=a4d4f5e5-c000-43d3-ae4d-c7dabed882e4" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FGJL1IZn0xSqBCmM42UbH%2Fimage.png?alt=media&amp;token=0057046b-f86f-4dba-a671-56f0623d2956" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FfJr4EO6r4Mm8nfrR3lJi%2Fimage.png?alt=media&amp;token=dd4ee7bf-9769-42b4-9310-3bb937e6e03e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FEIDbBGsywkIMAwfbStuh%2Fimage.png?alt=media&amp;token=a1c1f07d-9eba-4979-abb5-8ae264738802" alt=""><figcaption></figcaption></figure>

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

### カテゴリー(部署)のドキュメントから検索 <a href="#search-within-documents-by-category" id="search-within-documents-by-category"></a>

※選択したカテゴリーからドキュメントを検索させたい場合、事前にドキュメントをフォルダで分けておくか、ドキュメントに任意のハッシュタグを付与する必要があります。

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

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FYwMbMENoKz1DkENvAd1i%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-10-10%2014.27.53.png?alt=media&amp;token=f7d4fea0-0a9e-4f5b-8d0a-5a59ab883524" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FtYL4mdJLigjJ8IS8OQZn%2Fimage.png?alt=media&amp;token=88a1d418-f5d4-4e09-87d7-746f807a1b5c" alt=""><figcaption></figcaption></figure>

1. **質問の入力方式：**「メンバー入力」を選択します。
2. **質問：**&#x30E6;ーザーに表示するメッセージを設定します。
3. **ベースモデル：**&#x56DE;答生成で使用するLLMモデルを選択します。\
   モデルによって精度が変わりますので事前に検証されることをおすすめします。
4. **エージェント：**&#x56DE;答生成をする際のエージェントを選択します。RAG Agent V2は弊社側でご用意した標準のエージェントになりますので基本的にはそちらをご利用ください。
5. **検索ソース：**&#x56DE;答生成をする際に回答のソースとして利用したいものを選択します。\
   例では事前にアップロードされた社内ドキュメントを回答ソースとして設定しています。
6. **フォルダの適用範囲 / ドキュメントの適用範囲：**&#x30AB;テゴリーの範囲でドキュメントから回答生成を行う場合、対象範囲に任意のドキュメントフォルダ、またはハッシュタグを設定してください。\
   &#x20;<mark style="color:red;">※カテゴリーごとに回答生成ノードを作成する場合、設定箇所が異なるのはこちらの部分のみです。</mark>\ <mark style="color:red;">この例では、「人事」カテゴリーを選択した後に繋がる「回答生成ノード」は対象範囲を「人事フォルダ」、「総務」カテゴリーを選択した後に繋がる「回答生成ノード」は対象範囲を「総務総務フォルダ」と設定しています。</mark>
7. **回答生成後：**&#x56DE;答が生成された後のアクションを選択できます。ここでは回答生成後に同じ領域で再検索 or TOPのカテゴリー選択に戻るボタンのノードに繋ぐため、「次のノードへ」を選択します。

このノードはカテゴリーの数だけ作成します。この例では「人事」「総務」で2つ作成しています。\
※ノードは複製(コピー)できますので、コピー機能をご利用ください。\ <mark style="color:red;">※カテゴリーごとに「適用範囲(フォルダ、ハッシュタグ)」を変更するのを忘れずに設定してください。</mark>

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FoRTPViaRVPs3XwPXsJvC%2Fimage.png?alt=media&amp;token=0ea9b75f-122c-4c22-b9bc-5d069b0886bf" alt=""><figcaption></figcaption></figure>

### カテゴリー(部署)のドキュメントから検索→同じ領域で再検索 or TOPのカテゴリー選択に戻るボタンを作成する <a href="#other-option-branches" id="other-option-branches"></a>

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FRsqhsvfkJR525uycQEGu%2Fimage.png?alt=media&amp;token=05e331ea-e0b9-45cb-8f1f-23df51cdd702" alt=""><figcaption></figcaption></figure>

カテゴリーそれぞれの範囲で回答生成が完了した後に、同じ領域で再検索 or TOPのカテゴリー選択に戻るボタンを用意します。

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2F1UbGz5MUd59hOfC3sAI9%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-10-10%2014.21.25.png?alt=media&amp;token=6dff1b58-3f3c-4f15-a942-2fe0eae4b4ce" alt=""><figcaption></figcaption></figure>

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

～完成イメージ～

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FnqFYfyf8WqyfzzTiOqSM%2Fimage.png?alt=media&amp;token=afb080a1-0e18-43cc-b376-2335ac574150" alt=""><figcaption></figcaption></figure>

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

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

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FwwnvVXy7VJcFvZkWS4vt%2Fimage.png?alt=media&amp;token=bd7b36ed-1edc-40fe-b330-7ea2661c983b" alt=""><figcaption></figcaption></figure>

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

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

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FyYdj746nNy1yfADEyLvS%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-10-10%2014.21.25.png?alt=media&amp;token=c57e4212-77ca-43a0-940a-2cf521b1eb82" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FRPsc1Seo97Omd8ImMW1s%2Fimage.png?alt=media&amp;token=6cf45c6d-c7c0-4312-a82c-1b7db02bec6c" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="https://3244404108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR2CRA2CisD1pVQUgqd1g%2Fuploads%2FQiutRAyED39dx7YHoty5%2Fimage.png?alt=media&amp;token=dddf5c9f-07ee-4ba7-920b-95495000decf" alt=""><figcaption></figcaption></figure>

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.allganize.ai/alli-llm-app-market/practice/apuri/category-search-ga.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
