反復処理(イテレーション)
定義
配列に対して複数のステップを実行し、すべての結果を出力すること。
イテレーションステップはリスト中の各項目に対して同じステップを実行します。イテレーションを使用する条件は、入力値がリストオブジェクトとしてフォーマットされていることを確認することです。イテレーションノードは、AIワークフローにより複雑な処理ロジックを取り入れることを可能にします。イテレーションノードはループノードの親しみやすいバージョンであり、非技術ユーザーが迅速に始められるようにカスタマイズの程度を調整しています。
シナリオ
例1:長文イテレーション生成器
长故事生成器
- 開始ノード 内にタイトルとアウトラインを入力
- コードノード を使用してユーザー入力から完全な内容を抽出
- パラメータ抽出ノード を使用して完全な内容を配列形式に変換
- イテレーションノード でラップされた LLM ノード を通じて各章の内容を複数回生成
- イテレーションノード内に 直接応答ノード を追加して、各イテレーション生成の後にストリーム出力を行う
具体的な設定ステップ
- 開始ノード にタイトル(title)とアウトライン(outline)を設定;
開始ノードの設定
- Jinja-2 テンプレートノード を使用してタイトルとアウトラインを完全なテキストに変換;
テンプレートノード
- パラメータ抽出ノード を使用して、ストーリーテキストを配列(Array)構造に変換。抽出パラメータは
sections
、パラメータタイプはArray[Object]
パラメータ抽出
パラメータ抽出の効果はモデル推論能力と指示に影響されます。推論能力が高いモデルを使用し、指示 内に例を追加することでパラメータ抽出の効果を向上させることができます。
- ストーリーアウトラインの配列形式をイテレーションノードの入力として使用し、イテレーションノード内で LLM ノード を使用して処理
イテレーションノードの設定
LLM ノード内で入力変数 GenerateOverallOutline/output
と Iteration/item
を設定
LLMノードの設定
イテレーションの組み込み変数:items[object]
と index[number]
items[object]
は各イテレーションの入力項目を表します;
index[number]
は現在のイテレーションのラウンドを表します;
- イテレーションノード内に 直接応答ノード を設定して、各イテレーション生成の後にストリーム出力を実現。
Answerノードの設定
- 完全なデバッグとプレビュー
ストーリー章ごとの多段イテレーション生成
例2:長文イテレーション生成器(別の編成方法)
長文イテレーション生成器(別の編成方法)
- 開始ノード にタイトルとアウトラインを入力
- LLM ノード を使用して小見出しと対応する内容を生成
- コードノード を使用して完全な内容を配列形式に変換
- イテレーションノード でラップされた LLM ノード を通じて各章の内容を複数回生成
- テンプレート変換ノード を使用してイテレーションノードが出力する文字列配列を文字列に変換
- 最後に 直接応答ノード を追加して変換後の文字列を直接出力
配列の内容とは
リストは特定のデータ型であり、要素はコンマで区切られ、 [
で始まり ]
で終わります。例えば:
数値型:
文字列型:
JSON オブジェクト:
配列を返すノード
- コードノード
- パラメータ抽出
- ナレッジベース検索
- イテレーション
- ツール
- HTTPリクエスト
配列形式の内容を取得する方法
CODE ノードを使用して返す
コードノード出力Array
パラメータ抽出ノードを使用して返す
パラメータ抽出ノード出力array
配列をテキストに変換する方法
イテレーションノードの出力変数は配列形式であり、直接出力することはできません。配列をテキストに戻すための簡単なステップを実行することができます。
コードノードを使用した変換
コードノード変換
コード例:
テンプレートノードを使用した変換
テンプレートノード変換
コード例:
Was this page helpful?