# 開始

### 定義

**“開始”** ノードは、すべてのワークフローアプリ（チャットフロー / ワークフロー）に必須のデフォルトノードであり、後続のワークフローノードやアプリの正常なプロセスに必要な初期情報を提供します。これには、アプリの使用者が入力した内容や、[アップロードされたファイル](https://legacy-docs.dify.ai/ja-jp/guides/workflow/file-upload)などが含まれます。

### ノードの設定

開始ノードの設定ページでは、\*\*“入力フィールド”\*\*とデフォルトの[**システム変数**](https://legacy-docs.dify.ai/ja-jp/guides/variables#xi-tong-bian-liang)という二つの設定部分が見られます。

<figure><img src="https://3244742310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBl3K6n12AeCkG3icHwfh%2Fuploads%2Fgit-blob-909dcf5cb28369d13b88fbf3a7db27971595b015%2Fimage.png?alt=media" alt=""><figcaption><p>チャットフロー と ワークフロー</p></figcaption></figure>

### 入力フィールド

入力フィールドの機能はアプリ開発者によって設定され、通常はアプリの使用者がさらに情報を提供するために使用されます。例えば、週次報告アプリでは、使用者に対して名前、作業期間、作業内容などの背景情報をあらかじめフォーマットに従って提供するよう求めることがあります。これらの前提情報は、LLM（大規模言語モデル）がより質の高い回答を生成するのに役立ちます。

以下の6種類の入力変数をサポートしており、すべての変数は必須項目として設定可能です：

* **テキスト**

  短いテキストで、アプリ使用者が自分で内容を入力します。最大文字数は256文字です。
* **段落**

  長文で、アプリ使用者が長いテキストを入力することができます。
* **ドロップダウンオプション**

  アプリ開発者によって固定された選択肢で、アプリ使用者は設定された選択肢の中からのみ選ぶことができ、自由に内容を入力することはできません。
* **数字**

  数字のみの入力を許可します。
* **単一ファイル**

  アプリ使用者が単独でファイルをアップロードできる機能で、サポートされるファイルタイプは文書、画像、音声、動画、その他のファイルです。ローカルからのファイルアップロードやファイルのURLを貼り付けてのアップロードが可能です。詳細な使い方については[ファイルアップロード](https://legacy-docs.dify.ai/ja-jp/guides/workflow/file-upload)を参照してください。
* **ファイルリスト**

  アプリ使用者が複数のファイルを一括でアップロードできる機能で、サポートされるファイルタイプは文書、画像、音声、動画、その他のファイルです。ローカルからのファイルアップロードやファイルのURLを貼り付けてのアップロードが可能です。詳細な使い方については[ファイルアップロード](https://legacy-docs.dify.ai/ja-jp/guides/workflow/file-upload)を参照してください。

{% hint style="info" %}
Difyに組み込まれているファイル抽出ノードは、特定のフォーマットファイルのみを処理できます。画像、音声、動画ファイルを処理する必要がある場合は、[外部データツール](https://github.com/langgenius/dify-docs/blob/main/jp/guides/extension/api-based-extension/external-data-tool.md)を参照し、対応するファイル処理ノードを構築してください。
{% endhint %}

設定が完了した後、使用者はアプリを使用する前に、入力項目に従ってLLMに必要な情報を提供します。より多くの情報がLLMの質問応答効率を向上させるのに役立ちます。

<figure><img src="https://3244742310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBl3K6n12AeCkG3icHwfh%2Fuploads%2Fgit-blob-b2d3cdd88f3458d56cedd4fa7e38da4a8528f751%2Fimage%20(4).png?alt=media" alt=""><figcaption></figcaption></figure>

### システム変数

システム変数は、チャットフロー / ワークフローアプリ内であらかじめ設定されたシステムレベルのパラメータであり、アプリ内の他のノードからグローバルに読み取ることができます。通常は、高度な開発シナリオで使用され、たとえば多段階対話アプリの構築、アプリのログ収集と監視、異なるアプリや使用者の使用行動の記録などに利用されます。

**ワークフロー**

ワークフロータイプのアプリは以下のシステム変数を提供します：

| 変数名                   | データタイプ       | 説明                                                                                                        | メモ                                                 |
| --------------------- | ------------ | --------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| `sys.files`           | Array\[File] | ファイルパラメータで、ユーザーがアプリを使用する際にアップロードした画像を保存します。複数の画像をアップロードできます。このパラメータは今後廃止予定であり、「入力フィールド」内のファイル変数の使用を推奨します。 | 画像アップロード機能は、アプリの編成ページの右上にある「機能」で有効にする必要があります。      |
| `sys.user_id`         | String       | ユーザーIDで、各ユーザーがワークフローアプリを使用する際に、システムが自動的に一意の識別子を割り当てて、異なる対話ユーザーを区別します。                                     |                                                    |
| `sys.app_id`          | String       | アプリIDで、システムが各ワークフローアプリに一意の識別子を割り当て、異なるアプリを区別し、このパラメータを通じて現在のアプリの基本情報を記録します。                               | 開発能力のあるユーザー向けで、このパラメータを通じて異なるワークフローアプリを区別・特定できます。  |
| `sys.workflow_id`     | String       | ワークフローIDで、現在のワークフローアプリに含まれるすべてのノード情報を記録します。                                                               | 開発能力のあるユーザー向けで、このパラメータを通じてワークフロー内のノード情報を追跡・記録できます。 |
| `sys.workflow_run_id` | String       | ワークフローアプリの実行IDで、ワークフローアプリの運用状況を記録します。                                                                     | 開発能力のあるユーザー向けで、このパラメータを通じてアプリの過去の実行状況を追跡できます。      |

<figure><img src="https://docs.dify.ai/~gitbook/image?url=https%3A%2F%2F1288284732-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FCdDIVDY6AtAz028MFT4d%252Fuploads%252FrN6uw5MOfjV2xsDnQsV1%252Fimage.png%3Falt%3Dmedia%26token%3D309a9336-7bd7-4ef6-8621-779538245e25&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=9d7d625a&#x26;sv=1" alt=""><figcaption><p>ワークフロータイプアプリのシステム変数</p></figcaption></figure>

**チャットフロー**

チャットフロータイプのアプリケーションは、以下のシステム変数を提供しています：

| 変数名                   | データ型         | 説明                                                                                                                                 | 備考                                              |
| --------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| `sys.query`           | String       | ユーザーが最初に入力した内容                                                                                                                     |                                                 |
| `sys.files`           | Array\[File] | ユーザーがアップロードした画像                                                                                                                    | 画像のアップロード機能は、アプリケーションの編成ページ右上の「機能」で有効化する必要があります |
| `sys.dialogue_count`  | Number       | チャットフロータイプのアプリケーションとの対話中にユーザーが行った対話のラウンド数です。各対話の後に自動的に数が増加し、if-elseノードと組み合わせて複雑な分岐ロジックを構築できます。たとえば、Xラウンド目に達したときに、対話履歴を振り返って分析が可能です |                                                 |
| `sys.conversation_id` | String       | ダイアログの対話セッションの一意の識別子で、関連するすべてのメッセージを同じ対話にグループ化し、LLMが同じトピックとコンテキストで継続的に対話できるようにします                                                  |                                                 |
| `sys.user_id`         | String       | 各アプリケーションユーザーに割り当てられた一意の識別子で、異なる対話ユーザーを区別するために使用されます                                                                               |                                                 |
| `sys.app_id`          | String       | アプリケーションのIDで、システムは各ワークフローアプリケーションに一意の識別子を割り当て、異なるアプリケーションを識別します。このパラメータを使用して現在のアプリケーションの基本情報を記録します                                 | 開発者向けで、このパラメータを使用して異なるワークフローアプリケーションを区別します      |
| `sys.workflow_id`     | String       | ワークフローIDで、現在のワークフローアプリケーションに含まれるすべてのノード情報を記録するために使用されます                                                                            | 開発者向けで、このパラメータを使用してワークフロー内のノード情報を追跡および記録できます    |
| `sys.workflow_run_id` | String       | ワークフローアプリケーションの実行IDで、アプリケーションの実行状況を記録するために使用されます                                                                                   | 開発者向けで、このパラメータを使用してアプリケーションの過去の実行状況を追跡できます      |

![](https://r2.xmsex.net/2024/10/233efef6802ae700489f3ab3478bca6b.png)
