Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 4 additions & 17 deletions ja/use-dify/nodes/ifelse.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ icon: "code-branch"

<Note> ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/use-dify/nodes/ifelse)を参照してください。</Note>


If-Elseノードは、定義した条件に基づいて実行を異なるパスにルーティングすることで、ワークフローに意思決定ロジックを追加します。変数を評価し、ワークフローが従うべき分岐を決定します。

<Frame caption="If-Else条件分岐の例">
Expand All @@ -29,11 +28,11 @@ If-Elseノードは、定義した条件に基づいて実行を異なるパス

<Tabs>
<Tab title="テキスト操作">
**Contains** / **Not contains** - テキストが特定の単語やフレーズを含むかチェック
**Contains** / **Not contains** - 値が特定の単語やフレーズを含むかチェック

**Starts with** / **Ends with** - パターンマッチングのためにテキストの始まりや終わりをテスト

**Is** / **Is not** - 正確なテキスト比較のための完全値マッチング
**Is** / **Is not** - 完全値マッチング
</Tab>

<Tab title="値チェック">
Expand All @@ -59,18 +58,6 @@ If-Elseノードは、定義した条件に基づいて実行を異なるパス

## 変数参照

条件で以前のワークフローノードからの任意の変数を参照します。変数は、ユーザー入力、大規模言語モデルのレスポンス、API呼び出し、または他のワークフローノード出力から取得できます。

変数セレクターを使用して利か、`{{variable_name}}`構文を使用して変数名を直接入力します。

## 共通パターン

**コンテンツルーティング** - カテゴリ、言語、または複雑さに基づいて、異なるタイプのコンテンツを専用の処理ノードに振り分けます。

**ユーザー役割管理** - ユーザー権限、サブスクリプションレベル、またはアカウントタイプに基づいて異なるワークフロー動作を実装します。

**エラーハンドリング** - レスポンス状態コード、データ妥当性、または処理結果をチェックして、ワークフローを適切にルーティングします。

**動的処理** - 入力特性、処理結果、または外部条件に基づいてワークフロー動作を調整します。
条件で以前のワークフローノードからの任意の変数を参照します。変数は、ユーザー入力、LLMレスポンス、API呼び出し、または他のワークフローノード出力から取得できます。

**マルチパスワークフロー** - アプリケーションのさまざまなシナリオやエッジケースを処理する洗練された分岐ロジックを作成します
変数セレクターを使用して利用可能な変数から選択するか、`{{variable_name}}`構文を使用して変数名を直接入力します
55 changes: 33 additions & 22 deletions ja/use-dify/nodes/user-input.mdx
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
---
title: "ユーザー入力"
description: "ワークフローとチャットフローアプリケーションのエントリーポイント"
description: "ワークフローとチャットフローアプリケーションを開始するためのユーザー入力を収集します"
icon: "input-text"
---

<Note> ⚠️ このドキュメントは AI によって自動翻訳されています。不正確な点がある場合は、[英語版](/en/use-dify/nodes/user-input)を参照してください。</Note>
<Note> ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/use-dify/nodes/user-input)を参照してください。</Note>

## はじめに

ユーザー入力ノードは、アプリケーションの実行時にエンドユーザーから収集する情報を定義できる開始ノードの一種です
ユーザー入力ノードは、アプリケーションの入力としてエンドユーザーから収集する情報を定義できます

このノードで開始するアプリケーションは、直接的なユーザー操作または API 呼び出しによって開始される*オンデマンド*で実行されます。これらのアプリケーションをスタンドアロンの Web アプリや MCP サーバーとして公開したり、バックエンドサービス API を介して公開したり、他の Dify アプリケーションでツールとして使用したりすることもできます。
このノードで開始するアプリケーションは*オンデマンド*で実行され、直接的なユーザー操作または API 呼び出しによって開始できます。

これらのアプリケーションをスタンドアロンの Web アプリや MCP サーバーとして公開したり、バックエンドサービス API を介して公開したり、他の Dify アプリケーションでツールとして使用したりすることもできます。

<Info>
各アプリケーションキャンバスには、ユーザー入力ノードを 1 つだけ含めることができます。
Expand All @@ -25,7 +27,7 @@ icon: "input-text"
- `userinput.files`:エンドユーザーがアプリケーションを実行するときにアップロードするファイル。

<Note>
ワークフローアプリケーションの場合、このプリセット変数は*レガシー*と見なされており、後方互換性のためにのみ維持されています。
ワークフローアプリケーションの場合、このプリセット変数は*レガシー*と見なされ、後方互換性のためにのみ維持されています。

代わりに[カスタムファイル入力フィールド](#file-input)を使用してユーザーファイルを収集することをお勧めします。
</Note>
Expand All @@ -34,28 +36,28 @@ icon: "input-text"

### カスタム

ユーザー入力ノードでカスタム入力フィールドを構成して、エンドユーザーから情報を収集できます。各フィールドは、ダウンストリームノードが参照できる変数になります。たとえば、変数名 `user_name` の入力フィールドを追加すると、ワークフロー全体で `{{user_name}}` として参照できます。

さまざまな種類のユーザー入力を処理するために、7 種類の入力フィールドから選択できます。
ユーザー入力ノードでカスタム入力フィールドを構成して、さまざまな種類のユーザー入力を収集できます。各フィールドは、ダウンストリームノードが参照できる変数になります。

<Info>
**ラベル名**はエンドユーザーに表示されます。
</Info>

<Tip>
チャットフローアプリケーションでは、任意の入力変数を**非表示**にして、エンドユーザーには見えないようにしつつ、チャットフロー内で参照可能な状態を維持できます。
チャットフローアプリケーションでは、任意のユーザー入力フィールドを**非表示**にして、エンドユーザーには見えないようにしつつ、チャットフロー内で参照可能な状態を維持できます。

**必須**フィールドは非表示にできないことに注意してください。
</Tip>

#### テキスト入力

<Tabs>

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

<Tab title="段落">
段落フィールドは長さ制限なしの長文テキストを許可します。詳細な応答や説明のために、ユーザーに複数行のテキストエリアを提供します。
長さ制限なしの長文テキストを許可します。詳細な応答や説明のために、ユーザーに複数行のテキストエリアを提供します。
</Tab>
</Tabs>

Expand All @@ -64,27 +66,34 @@ icon: "input-text"
<Tabs>

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

<Tab title="数値">
数値フィールドは数値のみに入力を制限します—数量、評価、ID、または数学的処理を必要とするデータに最適です。
数値のみに入力を制限します—数量、評価、ID、または数学的処理を必要とするデータに最適です。
</Tab>

<Tab title="チェックボックス">
チェックボックスフィールドは、シンプルなはい/いいえオプションを提供します。ユーザーがボックスをチェックすると、出力は `true` になります。それ以外の場合は `false` になります。確認や二者択一が必要な場合に使用します。
シンプルなはい/いいえオプションを提供します。ユーザーがボックスをチェックすると、出力は `true` になります。それ以外の場合は `false` になります。確認や二者択一が必要な場合に使用します。
</Tab>

<Tab title="JSON コード">
JSON オブジェクト形式のデータを受け付け、複雑なネストされたデータ構造をアプリケーションに渡すのに最適です。

オプションで JSON スキーマを定義して、入力を検証し、期待される構造についてユーザーをガイドできます。これにより、他のノードでオブジェクトの個々のプロパティを参照することもできます。
</Tab>
</Tabs>

#### ファイル入力

<Tabs>
<Tab title="単一ファイル">
単一ファイルフィールドを使用すると、ユーザーはデバイスまたはファイル URL を介して、サポートされている任意のタイプの 1 つのファイルをアップロードできます。アップロードされたファイルは、ファイルメタデータ(名前、サイズ、タイプなど)を含む変数として利用できます。
ユーザーはデバイスまたはファイル URL を介して、サポートされている任意のタイプの 1 つのファイルをアップロードできます。アップロードされたファイルは、ファイルメタデータ(名前、サイズ、タイプなど)を含む変数として利用できます。
</Tab>

<Tab title="ファイルリスト">
ファイルリストフィールドは単一ファイルと同様に機能しますが、一度に複数のファイルのアップロードをサポートします。ドキュメント、画像、その他のファイルのバッチを一緒に処理する場合に便利です。
一度に複数のファイルのアップロードをサポートします。ドキュメント、画像、その他のファイルのバッチを一緒に処理する場合に便利です。

<Tip>
リスト演算子ノードを使用して、アップロードされたファイルリストから特定のファイルをフィルタリング、並べ替え、または抽出して、さらに処理することができます。
</Tip>
Expand All @@ -93,22 +102,24 @@ icon: "input-text"

**ファイル処理**

ユーザー入力ノードを介してアップロードされたファイルは、後続のノードによって適切に処理される必要があります。ユーザー入力ノードはファイルを収集するだけで、コンテンツを読み取ったり解析したりしません。

したがって、ファイルコンテンツを抽出して処理するために特定のノードを接続する必要があります。例えば:
ユーザー入力ノードはファイルを収集するだけで、コンテンツを読み取ったり解析したりしないため、アップロードされたファイルは後続のノードによって適切に処理される必要があります。例えば:

- ドキュメントファイルは、LLM がそのコンテンツを理解できるように、テキスト抽出のためにドキュメント抽出器ノードにルーティングできます。

- 画像は、ビジョン機能を持つ LLM ノードまたは専用の画像処理ツールノードに送信できます。

- CSV や JSON などの構造化データファイルは、コードノードを使用して解析および変換できます。

<Tip>
ユーザーが混在タイプの複数のファイル(画像とドキュメントなど)をアップロードする場合、リスト演算子ノードを使用してファイルタイプ別に分離してから、適切な処理ブランチにルーティングできます
ユーザーが混在タイプの複数のファイル(画像とドキュメントなど)をアップロードする場合、リスト演算子ノードを使用してファイルタイプ別に分離してから、異なる処理ブランチにルーティングできます
</Tip>

## 次のステップ

ユーザー入力ノードを設定したら、収集したデータを処理する他のノードに接続できます。一般的なパターンには次のものがあります:

- 入力を LLM ノードに送信して処理する。
- ナレッジ検索ノードを使用して、入力に基づいて関連情報を検索する。
- 入力に基づいて条件ロジックを使用して実行パスを異なるブランチにルーティングする。

- ナレッジ検索ノードを使用して、入力に関連する情報を検索する。

- If/Else ノードを使用して、入力に基づいて条件分岐を作成する。
26 changes: 3 additions & 23 deletions ja/use-dify/nodes/variable-aggregator.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ icon: "merge"

<Note> ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/use-dify/nodes/variable-aggregator)を参照してください。</Note>


変数アグリゲーターノードは、異なる実行パスからの変数を単一の統一された出力に結合します。複数のブランチが類似の出力を生成する場合、このノードは一つの一貫した変数参照を作成することで、下流での重複処理の必要性を排除します。

## 分岐の問題
Expand Down Expand Up @@ -52,9 +51,10 @@ icon: "merge"
**同一型ルール** - すべての集約された変数は同じデータ型である必要があります。最初の変数(例:文字列)を接続すると、ノードは他のブランチから同じ型の変数のみを受け入れます。

**サポートされる型:**
- **文字列** - 異なる処理力
- **文字列** - 異なる処理ブランチからのテキスト出力
- **数値** - 数値計算、スコア、または測定値
- **オブジェクト** - 類似のスキーマを持つ構造化データオブジェクト
- **ブール値** - 真/偽の値
- **配列** - リスト、コレクション、または複数の結果

### 出力動作
Expand All @@ -67,24 +67,4 @@ icon: "merge"

高度なワークフロー(v0.6.10+)では、複数の変数グループを同時に集約できます。各グループは独自の型制約を維持し、同一ノード内で異なるデータ型を並行して集約することができます。

これは、ブランチが複数の関連する出力を生成し、それらを個別に結合する必要がある場合に便利です - たとえば、異なる処理パスからのテキスト要約と数値スコアの両方を集約する場合です。

## 一般的な使用例

**マルチカテゴリ処理** - 異なるコンテンツタイプには専用の処理が必要ですが、共通の下流ロジックに供給される類似の出力を生成します。

**条件付きデータソース** - 異なる条件が異なる知識検索やAPI呼び出しをトリガーしますが、すべての結果には同じ最終処理が必要です。

**ブランチ結果の統合** - 複雑な分岐ロジックがさまざまな出力を生成しますが、最終的には統一された処理が必要です。

**エラー処理** - メイン処理とフォールバックブランチが異なるが互換性のある結果を生成し、下流ノードが一貫して処理できます。

## ベストプラクティス

**データ型の計画** - 変数アグリゲーターに接続する前に、すべてのブランチが互換性のあるデータ型を生成することを確認します。

**一貫した出力構造** - オブジェクトや配列を集約する際は、予測可能な下流処理のためにすべてのブランチで一貫した構造を維持します。

**説明的な名前を使用** - 集約された変数には、複数の可能なソースからの結果を含むことを明確に示す名前を付けます。

**すべてのブランチをテスト** - 各可能な実行パスが、集約時に正しく動作する有効な出力を生成することを確認します。
これは、ブランチが複数の関連する出力を生成し、それらを個別に結合する必要がある場合に便利です - たとえば、異なる処理パスからのテキスト要約と数値スコアの両方を集約する場合です。
Loading