|
1 | 1 | --- |
2 | | -title: "変数アグリゲーター" |
3 | | -description: "異なるワークフローブランチからの変数を統一された出力に結合" |
| 2 | +title: "変数集約器" |
| 3 | +description: "排他的なワークフローブランチを単一の出力に集約" |
4 | 4 | --- |
5 | 5 |
|
6 | | -<Note> ⚠️ このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/use-dify/nodes/variable-aggregator)を参照してください。</Note> |
| 6 | +変数集約器ノードを使用すると、**排他的な** ワークフローブランチを単一の出力に集約し、下流の処理を一度だけ定義すれば済むようになります。 |
7 | 7 |
|
8 | | -変数アグリゲーターノードは、異なる実行パスからの変数を単一の統一された出力に結合します。複数のブランチが類似の出力を生成する場合、このノードは一つの一貫した変数参照を作成することで、下流での重複処理の必要性を排除します。 |
| 8 | +IF/ELSE や質問分類器などのノードは排他的なブランチを作成し、実行ごとに 1 つのパスのみが実行されます。これらのブランチが同じ型の出力を生成する場合、通常はすべてのブランチに下流ノードを重複して配置する必要があります。 |
9 | 9 |
|
10 | | -## 分岐の問題 |
| 10 | +変数集約器はこの重複を解消します。実際にどのブランチが実行されたかに関係なく、下流ノードが参照できる単一の出力変数を提供します。 |
11 | 11 |
|
12 | | -条件付きワークフローでは、並列実行パスが作成され、一度に一つのブランチのみが実行されます。集約なしでは、各可能なブランチ結果に対して重複した下流ノードが必要となり、複雑でメンテナンスが困難なワークフローが生成されます。 |
13 | | - |
14 | | -変数アグリゲーターはマージポイントとして機能し、ブランチ出力を単一の変数に収集することで、実際にどのブランチが実行されたかに関係なく、下流ノードが一貫して参照できるようにします。 |
15 | | - |
16 | | -## 分類ワークフローの例 |
17 | | - |
18 | | -ユーザー入力が分類され、各カテゴリが異なる知識検索を必要とする場合、変数アグリゲーターが結果を結合します: |
19 | | - |
20 | | -**集約なし** - 重複したLLMノードを必要とする複雑なワークフロー: |
21 | | - |
22 | | -<Frame caption="変数集約なしの複雑なワークフロー"> |
23 | | - <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/7a7c91663c3799ce9d056b013d5df29c.png" alt="変数集約なしの問題分類" /> |
24 | | -</Frame> |
25 | | - |
26 | | -**集約あり** - 単一の下流処理による簡素化されたワークフロー: |
27 | | - |
28 | | -<Frame caption="変数集約を使用した簡素化されたワークフロー"> |
29 | | - <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/2b1694936fdab4843f5edc3f2fd1e79a.png" alt="問題分類後のマルチブランチ集約" /> |
| 12 | +<Frame caption="変数集約器なし"> |
| 13 | +  |
30 | 14 | </Frame> |
31 | 15 |
|
32 | | -集約されたワークフローでは、各分類ブランチに対してLLMノードを複製する代わりに一つのLLMノードを使用し、同じ機能を維持しながら複雑さを大幅に削減します。 |
33 | | - |
34 | | -## 条件処理の例 |
35 | | - |
36 | | -同様の利点は、類似の出力を生成するIf-Elseブランチにも適用されます: |
37 | | - |
38 | | -<Frame caption="条件分岐後の変数集約"> |
39 | | - <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/ff0e5774a3eccc8a04c310ab9bae25e7.png" alt="条件分岐後のマルチブランチ集約" /> |
| 16 | +<Frame caption="変数集約器あり"> |
| 17 | +  |
40 | 18 | </Frame> |
41 | 19 |
|
42 | | -## 設定 |
43 | | - |
44 | | -### 変数選択 |
45 | | - |
46 | | -結合したい異なるワークフローブランチからの変数を接続します。接続された各変数は、集約された出力への潜在的な入力となります。 |
47 | | - |
48 | | -### 型制約 |
| 20 | +<Note> |
| 21 | +変数集約器は、**一度に 1 つのパスのみが実行される** 排他的なブランチ向けに設計されています。複数のブランチが同時に実行される並列ブランチの出力を結合することはできません。 |
49 | 22 |
|
50 | | -**同一型ルール** - すべての集約された変数は同じデータ型である必要があります。最初の変数(例:文字列)を接続すると、ノードは他のブランチから同じ型の変数のみを受け入れます。 |
| 23 | +並列ブランチの結果をマージするには、[コード実行](/ja/use-dify/nodes/code) または [テンプレート](/ja/use-dify/nodes/template) ノードを使用してください。 |
| 24 | +</Note> |
51 | 25 |
|
52 | | -**サポートされる型:** |
53 | | -- **文字列** - 異なる処理ブランチからのテキスト出力 |
54 | | -- **数値** - 数値計算、スコア、または測定値 |
55 | | -- **オブジェクト** - 類似のスキーマを持つ構造化データオブジェクト |
56 | | -- **ブール値** - True/false値 |
57 | | -- **配列** - リスト、コレクション、または複数の結果 |
| 26 | +## 集約する変数の選択 |
58 | 27 |
|
59 | | -### 出力動作 |
| 28 | +各ブランチから、同じ下流処理が必要な変数を追加します。すべての変数は同じデータ型である必要があります。 |
60 | 29 |
|
61 | | -変数アグリゲーターは、実際に実行されたブランチからの値を出力します。条件付きワークフローでは一つのブランチのみが実行されるため、実行中は一つの入力変数のみが値を持ちます。 |
| 30 | +サポートされる型:`string`、`number`、`object`、`boolean`、`array`、`file`。 |
62 | 31 |
|
63 | | -## 高度な機能 |
| 32 | +ノードは実行時に値を持つ変数を出力します。排他的なブランチでは 1 つのブランチのみが実行されるため、値を持つ変数は 1 つだけであり、その値がノードの出力になります。 |
64 | 33 |
|
65 | | -### 複数集約グループ |
| 34 | +## 複数の変数セットの集約 |
66 | 35 |
|
67 | | -高度なワークフロー(v0.6.10+)では、複数の変数グループを同時に集約できます。各グループは独自の型制約を維持し、同一ノード内で異なるデータ型を並行して集約することができます。 |
| 36 | +複数の変数セットをそれぞれ個別に集約する必要がある場合は、**グループ** を有効にして、単一の変数集約器内にグループを作成します。 |
68 | 37 |
|
69 | | -これは、ブランチが複数の関連する出力を生成し、それらを個別に結合する必要がある場合に便利です - たとえば、異なる処理パスからのテキスト要約と数値スコアの両方を集約する場合です。 |
| 38 | +各グループはそれぞれの変数セットを独立して集約し、個別の出力を生成します。 |
0 commit comments