はじめに
ユーザー入力ノードでは、アプリケーションへの入力としてエンドユーザーから収集する内容を定義できます。 このノードで開始するアプリケーションはオンデマンドで実行され、直接的なユーザー操作または API 呼び出しによって開始できます。 これらのアプリケーションをスタンドアロンの Web アプリや MCP サーバーとして公開したり、バックエンドサービス API を介して公開したり、他の Dify アプリケーションでツールとして使用したりすることもできます。各アプリケーションキャンバスには、ユーザー入力ノードを 1 つだけ含めることができます。
入力変数
プリセット
プリセット入力変数はシステム定義であり、デフォルトで利用可能です。-
userinput.files:エンドユーザーがアプリケーションを実行するときにアップロードするファイル。ワークフローアプリケーションの場合、このプリセット変数はレガシーと見なされており、後方互換性のためにのみ維持されています。代わりにカスタムファイル入力フィールドを使用してユーザーファイルを収集することをお勧めします。 -
userinput.query(チャットフローのみ):ユーザーの最新のチャットターンから自動的にキャプチャされたテキストメッセージ。
カスタム
ユーザー入力ノードでカスタム入力フィールドを設定して、さまざまな種類のユーザー入力を収集できます。各フィールドは、下流のノードから参照できる変数になります。ラベル名はエンドユーザーに表示されます。
テキスト入力
- 短いテキスト
- 段落
最大 256 文字を受け付けます。名前、メールアドレス、タイトル、または 1 行に収まる短いテキスト入力に使用します。
構造化入力
- 選択
- 数値
- チェックボックス
事前定義されたオプションを含むドロップダウンメニューを表示します。ユーザーはリストされたオプションからのみ選択でき、データの一貫性を確保し、無効な入力を防ぎます。
ファイル入力
- 単一ファイル
- ファイルリスト
ユーザーはデバイスまたはファイル URL を介して、サポートされている任意のタイプの 1 つのファイルをアップロードできます。アップロードされたファイルは、ファイルメタデータ(名前、サイズ、タイプなど)を含む変数として利用できます。
- ドキュメントファイルは、LLM がそのコンテンツを理解できるように、テキスト抽出のためにドキュメント抽出器ノードにルーティングできます。
- 画像は、ビジョン機能を持つ LLM ノードまたは専用の画像処理ツールノードに送信できます。
- CSV や JSON などの構造化データファイルは、コードノードを使用して解析および変換できます。
次のステップ
ユーザー入力ノードを設定したら、収集したデータを処理する他のノードに接続できます。一般的なパターンには次のものがあります:- 入力を LLM ノードに送信して処理する。
- ナレッジ検索ノードを使用して、入力に関連する情報を検索する。
- If/Else ノードを使用して、入力に基づいて条件分岐を作成する。