メインコンテンツへスキップ
⚠️ このドキュメントは AI によって自動翻訳されています。不正確な点がある場合は、英語版を参照してください。

はじめに

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

入力変数

プリセット

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

カスタム

ユーザー入力ノードでカスタム入力フィールドを構成して、エンドユーザーから情報を収集できます。各フィールドは、ダウンストリームノードが参照できる変数になります。たとえば、変数名 user_name の入力フィールドを追加すると、ワークフロー全体で {{user_name}} として参照できます。 さまざまな種類のユーザー入力を処理するために、7 種類の入力フィールドから選択できます。
ラベル名はエンドユーザーに表示されます。
チャットフローアプリケーションでは、任意の入力変数を非表示にして、エンドユーザーには見えないようにしつつ、チャットフロー内で参照可能な状態を維持できます。

テキスト入力

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

構造化入力

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

ファイル入力

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

次のステップ

ユーザー入力ノードを設定したら、収集したデータを処理する他のノードに接続できます。一般的なパターンには次のものがあります:
  • 入力を LLM ノードに送信して処理する。
  • ナレッジ検索ノードを使用して、入力に基づいて関連情報を検索する。
  • 入力に基づいて条件ロジックを使用して実行パスを異なるブランチにルーティングする。