> ## Documentation Index
> Fetch the complete documentation index at: https://enterprise-docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ユーザー入力

## はじめに

ユーザー入力ノードでは、アプリケーションへの入力としてエンドユーザーから収集する内容を定義できます。

このノードで開始するアプリケーションは*オンデマンド*で実行され、直接的なユーザー操作または API 呼び出しによって開始できます。

これらのアプリケーションをスタンドアロンの Web アプリや MCP サーバーとして公開したり、バックエンドサービス API を介して公開したり、他の Dify アプリケーションでツールとして使用したりすることもできます。

<Info>
  各アプリケーションキャンバスには、ユーザー入力ノードを 1 つだけ含めることができます。
</Info>

## 入力変数

### プリセット

プリセット入力変数はシステム定義であり、デフォルトで利用可能です。

* `userinput.files`：エンドユーザーがアプリケーションを実行するときにアップロードするファイル。

  <Note>
    ワークフローアプリケーションの場合、このプリセット変数は*レガシー*と見なされており、後方互換性のためにのみ維持されています。

    代わりに[カスタムファイル入力フィールド](#ファイル入力)を使用してユーザーファイルを収集することをお勧めします。
  </Note>

* `userinput.query`（チャットフローのみ）：ユーザーの最新のチャットターンから自動的にキャプチャされたテキストメッセージ。

### カスタム

ユーザー入力ノードでカスタム入力フィールドを設定して、さまざまな種類のユーザー入力を収集できます。各フィールドは、下流のノードから参照できる変数になります。

<Info>
  **ラベル名**はエンドユーザーに表示されます。
</Info>

<Tip>
  チャットフローアプリケーションでは、任意のユーザー入力フィールドを**非表示**にして、エンドユーザーには見えないようにしつつ、チャットフロー内で参照可能な状態を維持できます。

  **必須**フィールドは非表示にできないことに注意してください。
</Tip>

#### テキスト入力

<Tabs>
  <Tab title="短いテキスト">
    最大 256 文字を受け付けます。名前、メールアドレス、タイトル、または 1 行に収まる短いテキスト入力に使用します。
  </Tab>

  <Tab title="段落">
    長さ制限なしの長文テキストを許可します。詳細な応答や説明のために、ユーザーに複数行のテキストエリアを提供します。
  </Tab>
</Tabs>

#### 構造化入力

<Tabs>
  <Tab title="選択">
    事前定義されたオプションを含むドロップダウンメニューを表示します。ユーザーはリストされたオプションからのみ選択でき、データの一貫性を確保し、無効な入力を防ぎます。
  </Tab>

  <Tab title="数値">
    数値のみに入力を制限します。数量、評価、ID、または数学的処理を必要とするデータに最適です。
  </Tab>

  <Tab title="チェックボックス">
    シンプルなはい/いいえオプションを提供します。ユーザーがボックスをチェックすると、出力は `true` になり、それ以外の場合は `false` になります。確認や二者択一が必要な場合に使用します。
  </Tab>
</Tabs>

#### ファイル入力

<Tabs>
  <Tab title="単一ファイル">
    ユーザーはデバイスまたはファイル URL を介して、サポートされている任意のタイプの 1 つのファイルをアップロードできます。アップロードされたファイルは、ファイルメタデータ（名前、サイズ、タイプなど）を含む変数として利用できます。
  </Tab>

  <Tab title="ファイルリスト">
    一度に複数のファイルのアップロードをサポートします。ドキュメント、画像、その他のファイルのバッチを一緒に処理する場合に便利です。

    <Tip>
      リスト演算子ノードを使用して、アップロードされたファイルリストから特定のファイルをフィルタリング、並べ替え、または抽出して、さらに処理することができます。
    </Tip>
  </Tab>
</Tabs>

**ファイル処理**

ユーザー入力ノードはファイルを収集するだけで、コンテンツを読み取ったり解析したりしないため、アップロードされたファイルは後続のノードによって適切に処理される必要があります。例えば：

* ドキュメントファイルは、LLM がそのコンテンツを理解できるように、テキスト抽出のためにドキュメント抽出器ノードにルーティングできます。

* 画像は、ビジョン機能を持つ LLM ノードまたは専用の画像処理ツールノードに送信できます。

* CSV や JSON などの構造化データファイルは、コードノードを使用して解析および変換できます。

<Tip>
  ユーザーが混在タイプの複数のファイル（画像とドキュメントなど）をアップロードする場合、リスト演算子ノードを使用してファイルタイプ別に分離してから、異なる処理ブランチにルーティングできます。
</Tip>

## 次のステップ

ユーザー入力ノードを設定したら、収集したデータを処理する他のノードに接続できます。一般的なパターンには次のものがあります：

* 入力を LLM ノードに送信して処理する。

* ナレッジ検索ノードを使用して、入力に関連する情報を検索する。

* If/Else ノードを使用して、入力に基づいて条件分岐を作成する。
