# シングルアクションでドキュメントインプットを利用する

## インプットタイプにドキュメントを使用する <a href="#use-input-type-document" id="use-input-type-document"></a>

シングルアクションアプリでは、ユーザーからインプットされたドキュメントを使用し、プロンプトを実行することが可能です。\
設定の方法は以下になります。

### **1. インプットタイプで"ドキュメント"を追加する。** <a href="#select" id="select"></a>

"**＋インプットを追加**"をクリックし、"ドキュメント"を選択します。"**ベーシック**" もしくは "**アドバンスド**"を選択してください。\
"**ベーシック**"を選択した場合は1回のみ、"**アドバンスド**"を選択した場合は複数の処理をドキュメントに対して実行することが可能です。<br>

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

<figure><img src="/files/Vf1r1HkCFd0VkfmvK44N" alt="" width="541"><figcaption></figcaption></figure>

### **2. インプット設定を行う。** <a href="#setting" id="setting"></a>

* "**ベーシック**"を選択した場合\
  ベーシックは、アップロードされたドキュメントを要約する場合など比較的シンプルな処理に向いています。設定方法は以下です。<br>

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

1. ユーザー側に提示するインプット項目のタイトルとプロンプトに使用する変数を割り当てます。
2. 既にナレッジベースに登録されているドキュメントを使用することができるオプションです。
3. 2.がONの場合、ナレッジベースに登録されている、どのドキュメントを使用するかを選択できます。OFFの場合は、ユーザーに自身で対象のドキュメントをアップロードしてもらう形態です。

* "**アドバンスド**"を選択した場合\
  "**アドバンスド**"は、ドキュメントに対して複数の処理を行うことができる機能です。多くの情報が含まれるドキュメントから必要な情報のみを抽出し、分析したり、アウトプットを整える場合など、多岐にわたる処理を行いたい場合は、アドバンスドを選択した上で、処理ごとにマッププロンプト、リデュースプロンプトにプロンプトを分けて作成することでアウトプットの質が向上します。

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

1. ユーザー側に提示するインプット項目のタイトルとプロンプトに使用する変数を割り当てます。
2. ONの場合、既にナレッジベースに登録されているドキュメントを使用することができるオプションです。OFFの場合は、ユーザーに自身で対象のドキュメントをアップロードしてもらう形態です。
3. マッププロンプトを設定します。マッププロンプトではドキュメントを複数のパートに分けて処理を行い、途中結果を生成します。\
   マッププロンプトの設定は必須項目となります。
4. リデュースプロンプトを設定します。リデュースプロンプトでは、マッププロンプトによってグループ化された結果を集計・分析するためのプロンプトを設定することができます。\
   リデュースプロンプトは任意項目のため、設定されていない場合はスキップされます。

### **3. モデル・プロンプトを設定する。** <a href="#model_prompt_setting" id="model_prompt_setting"></a>

モデルとプロンプト設定の詳細については、[**こちら**](#create-single-action-app)をご参照ください。

### **4. "長いインプットをマップリデュース"オプション** <a href="#map_reduce" id="map_reduce"></a>

ドキュメントが複数のページに渡る場合や、長いテキストなどをインプットとして使う場合に有効なオプションです。\
各LLMモデルのトークン制限に合わせてインプットを切り分け（マップ）、プロンプトを複数活用し統合（リデュース）します。\
インプットタイプをドキュメント(アドバンスド)で設定されている場合、マッププロンプトと同じものが自動的に設定されます。 \
また、インプットの中にドキュメント(ベーシック)が含まれる場合は、必須オプションとなるため自動的にONとなります。

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

## インプットタイプでドキュメントを使用するアプリの作成例 <a href="#input-document-example" id="input-document-example"></a>

ここでは、「2つの契約書から条項の抽出を行い、内容を比較する」アプリの作成例をご紹介します。\
シングルアクションアプリの作成方法の概要については、[**こちら**](#shinguruakushonapurino)をご参照ください。\
本パートでは、インプットタイプの設定から記載いたします。

### **1. アップロードする1つ目のドキュメントのインプット設定を行う。** <a href="#how_to_1" id="how_to_1"></a>

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

1. インプットタイプは、"**アドバンスド"**&#x3092;設定。
2. 今回はユーザーからアップロードされたドキュメントを使用する想定のため、"**ナレッジベースのドキュメントを使う**"オプションはOFFに設定。
3. **マッププロンプト**を設定。\
   アップロードされたドキュメン&#x30C8;**{doc1}**&#x306B;対して、契約対象や主要契約条件をリストアップするためのプロンプトを設定しています。
4. **リデュースプロンプト**を設定。\
   マッププロンプトで処理された結果に対して、出力の形式を整えるためのプロンプトを設定しています。

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

### **2. アップロードする2つ目のドキュメントのインプット設定を行う。** <a href="#how_to_2" id="how_to_2"></a>

今回は、2つのドキュメント(契約書)の条項を同じ条件で抽出するため、インプットタイトル・変数(プロンプトの変数設定も含む)以外は、1つ目のドキュメントに対してのインプット設定と同様のものを適用しています。

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

### **3. モデル・プロンプトを設定する。** <a href="#how_to_3" id="how_to_3"></a>

1. 使用するモデルを選択します。
2. 2つのドキュメントそれぞれに対してマップ・リデュースされた結果を用いて、内容を比較するためのプロンプトを設定します。

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

### **4. ユーザー画面で出力結果を確認する。** <a href="#how_to_4" id="how_to_4"></a>

3.まで設定が完了したら、出力される結果を確認します。 \
下記はユーザー画面になります。 \
ユーザー画面上では、ファイルをドラッグ＆ドロップする、もしくはファイル参照をクリックして、ドキュメントをアップロードすることができます。 \
アップロード可能なドキュメントの最大ファイルサイズは52.43MBとなります。

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

ここでは、サンプルとして2つの雇用契約書をアップロードした結果を表示してします。

* 生成ボタンをクリックし、出力結果を確認\ <br>

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

1. **中間結果**の出力\
   インプットに**ドキュメント(アドバンスド)**&#x304C;含まれる場合、対象ドキュメントに対する、前述のマップ・リデュースプロンプトの実行結果が"**中間結果**"として出力されます。<br>

   <figure><img src="/files/AwFRhtNW08TpqjfnqkNs" alt=""><figcaption></figcaption></figure>
2. マップ・リデュースプロンプトより出力された結果を基に、アプリ側のプロンプトが実行され、最終的なアウトプットが表示されます。<br>

   <figure><img src="/files/Zf3B94YEjhkvgcyUOrJN" 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/app-management/documents_input.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.
