メインコンテンツへスキップ

はじめに

ユーザー入力ノードでは、アプリケーションへの入力としてエンドユーザーから収集する内容を定義できます。 このノードで開始するアプリケーションはオンデマンドで実行され、直接的なユーザー操作または API 呼び出しによって開始できます。 これらのアプリケーションをスタンドアロンの Web アプリや MCP サーバーとして公開したり、バックエンドサービス API を介して公開したり、他の Dify アプリケーションでツールとして使用したりすることもできます。
各アプリケーションキャンバスには、ユーザー入力ノードを 1 つだけ含めることができます。

入力変数

プリセット

プリセット入力変数はシステム定義であり、デフォルトで利用可能です。
  • userinput.files:エンドユーザーがアプリケーションを実行するときにアップロードするファイル。
    ワークフローアプリケーションの場合、このプリセット変数はレガシーと見なされており、後方互換性のためにのみ維持されています。代わりにカスタムファイル入力フィールドを使用してユーザーファイルを収集することをお勧めします。
  • userinput.query(チャットフローのみ):ユーザーの最新のチャットターンから自動的にキャプチャされたテキストメッセージ。

カスタム

ユーザー入力ノードでカスタム入力フィールドを設定して、さまざまな種類のユーザー入力を収集できます。各フィールドは、下流のノードから参照できる変数になります。
ラベル名はエンドユーザーに表示されます。
チャットフローアプリケーションでは、任意のユーザー入力フィールドを非表示にして、エンドユーザーには見えないようにしつつ、チャットフロー内で参照可能な状態を維持できます。必須フィールドは非表示にできないことに注意してください。

テキスト入力

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

構造化入力

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

ファイル入力

ユーザーはデバイスまたはファイル URL を介して、サポートされている任意のタイプの 1 つのファイルをアップロードできます。アップロードされたファイルは、ファイルメタデータ(名前、サイズ、タイプなど)を含む変数として利用できます。
ファイル処理 ユーザー入力ノードはファイルを収集するだけで、コンテンツを読み取ったり解析したりしないため、アップロードされたファイルは後続のノードによって適切に処理される必要があります。例えば:
  • ドキュメントファイルは、LLM がそのコンテンツを理解できるように、テキスト抽出のためにドキュメント抽出器ノードにルーティングできます。
  • 画像は、ビジョン機能を持つ LLM ノードまたは専用の画像処理ツールノードに送信できます。
  • CSV や JSON などの構造化データファイルは、コードノードを使用して解析および変換できます。
ユーザーが混在タイプの複数のファイル(画像とドキュメントなど)をアップロードする場合、リスト演算子ノードを使用してファイルタイプ別に分離してから、異なる処理ブランチにルーティングできます。

次のステップ

ユーザー入力ノードを設定したら、収集したデータを処理する他のノードに接続できます。一般的なパターンには次のものがあります:
  • 入力を LLM ノードに送信して処理する。
  • ナレッジ検索ノードを使用して、入力に関連する情報を検索する。
  • If/Else ノードを使用して、入力に基づいて条件分岐を作成する。