開始ノードの設定

開始ノード(Start Node)は、チャットフロー実行の起点となるノードです。ユーザーからのメッセージ入力、ファイルアップロード、および会話開始時に必要な初期変数を受け取り、後続ノードに渡す役割を担います。

開始ノードの主な機能

開始ノードでは以下の設定やデータ取得が行われます。

  1. ユーザー入力の取得: ユーザーが送信したテキストメッセージを受け取ります。

  2. 入力フィールド(変数の定義): 会話開始時にユーザーから収集する情報(名前、カテゴリ、言語など)を定義します。

  3. ファイルアップロード設定: ユーザーによる画像やドキュメントの送信許可設定を行います。

設定画面の開き方

開始ノードの設定を行うには、以下の手順で設定パネルを開きます。

  1. ワークフローエディタを開きます

  2. キャンバス上の「開始」と表示されたノードをクリックします

  3. 右側に設定パネルが表示されます

システム変数

Difyが標準で提供し、開始ノードから自動的に出力される変数です。これらはフロー内のあらゆるノードで参照可能です。

変数名
説明

sys.query

String

ユーザーが入力したメッセージ本文。最も頻繁に使用されます。

sys.files

Array[File]

ユーザーがアップロードしたファイル情報の配列。ファイルアップロード機能を有効にした場合に使用します。

sys.conversation_id

String

会話セッションの一意なID。ログ追跡などに利用します。

sys.user_id

String

ユーザーの一意なID。ユーザーごとの処理を行う場合に使用します。

sys.dialogue_count

Number

現在の会話における往復回数(ターン数)。会話の長さに応じた処理に利用できます。

入力フィールド(カスタム変数)の設定

開始ノード内に独自の「入力フィールド」を追加することで、会話のコンテキストに必要な情報を定義できます。これらは会話変数として機能します。

用途例 language(回答言語の指定)、topic(興味のあるトピック)、user_name(ユーザー名)

フィールドの追加手順

  1. 開始ノードの設定パネルを開きます

  2. 「入力フィールド」セクションの「+」ボタンをクリックします

  3. 表示されるダイアログで以下を設定します:

    設定項目

    • フィールドタイプ: 入力データの種類を選択

    • 変数名: ワークフロー内部で参照するための変数名(例: topic

    • ラベル名: ユーザーに表示される項目名

    • 最大長: 入力可能な文字数の上限(テキストフィールドの場合)

    • 必須: 入力を必須にするかどうか

  4. 「保存」をクリックしてフィールドを追加します

フィールドタイプ一覧

  • 短文(String): 1行の短いテキスト入力(例: 名前、キーワード)

  • 段落(String): 複数行の長いテキスト入力(例: 説明文、詳細)

  • 選択(String): 事前に定義した選択肢から選ぶドロップダウン(例: カテゴリ選択)

  • 数値(Number): 数値のみを受け付ける入力フィールド(例: 年齢、数量)

  • チェックボックス(Boolean): オン/オフの選択(例: 同意チェック、オプションの有効化)

  • 単一ファイル(File): 1つのファイルのアップロード

  • ファイルリスト(Array[File]): 複数ファイルのアップロード

ファイルアップロードの設定

マルチモーダルな対話を行う場合、開始ノードでファイルアップロードを有効化します。

  1. 開始ノードを選択します。

  2. 「ファイルアップロード」機能をオンにします。

  3. 許可するファイル形式(画像、ドキュメントなど)を選択します。 アップロードされたファイルは sys.files 変数に格納され、「ドキュメント抽出ノード」や「LLMノード(Vision対応モデル)」で利用できます。

変数の参照方法

後続のノード(LLM、条件分岐、HTTPリクエストなど)で、開始ノードの値を参照するには以下の手順を行います。

  1. プロンプト/設定欄での参照:

    • 入力欄で {(波括弧)を入力すると変数リストが表示されます。

    • リストから sys.query や設定したカスタム変数(例: topic)を選択します。

  2. 表記形式:

    • Dify上では {{#sys.query#}} のようなブロックとして表示されます。

次のステップ

開始ノードの設定完了後は、フローのロジックに合わせて以下のノードを接続します。

  • LLMノード: sys.query を入力として受け取り、AIによる回答を生成する。

  • ナレッジ検索ノード: ユーザーの質問に関連する情報をナレッジベースから検索する。

  • 質問分類ノード: ユーザーの意図に応じて処理を分岐させる。

最終更新