変数
ワークフローやチャットフローは、単独ノードで構成されています。多くのノードは入力と出力のアイテムを持っていますが、各ノードの入力および出力情報は一貫性がなく、ダイナミックに変化します。
固定のシンボルを用いて、ダイナミックなコンテンツをどのように参照するのでしょうか? 変数はダイナミックなデータコンテナとして、さまざまな内容を格納・送信し、異なるノードの間で相互に参照され、お互いに情報を移動することができます。
システム変数
システム変数とは、チャットフロー/ワークフロー内でグローバルに使用される事前設定されたシステムレベルのパラメータです。すべてのシステムレベルの変数はsys.
で始まります。
ワークフロー
ワークフローは、以下のシステム変数を提供します:
変数名 | データタイプ | 説明 | 注釈 |
---|---|---|---|
sys.files | ファイルの配列 | ユーザーがアップロードした画像を保存します | 画像アップロードの機能を有効にするために、アプリケーション オーケストレーション ページの右上隅にある[機能]セクションを設定します。 |
sys.user_id | 文字列 | ユーザー ID: ワークフローを使用する際に、システムによって各ユーザーに自動的に割り当てられる識別番号です。異なるユーザーを区別するために使用される。 |
チャットフロー
チャットフローは、以下のシステム変数を提供します:
変数名 | データ型 | 説明 | 備考 |
---|---|---|---|
| 文字列 | ユーザーがチャットボックスに入力したテキスト。 | |
| 配列[ファイル] | ファイルパラメータ:ユーザーがアップロードした画像を保存します。 | 画像のアップロード機能は、アプリケーションのオーケストレーションページの右上にある「機能」セクションで有効にする必要があります。 |
| 数値 | Chatflowアプリケーションとのユーザーの対話中における会話ターンの回数です。各チャットラウンドの後に自動的にカウントが1ずつ増加し、if-elseノードと組み合わせて複雑な分岐ロジックを構築できます。 例えば、X回目の会話ターンでは、LLMが会話履歴を確認し、自動的に分析を提供します。 | |
| 文字列 | チャットボックス内の対話セッションごとに割り当てられる一意のIDで、関連するメッセージをすべて同じ会話にグループ化し、LLMが同じトピックとコンテキストでチャットを継続できるようにします。 | |
| 文字列 | 異なる対話ユーザーを識別するために、各アプリケーションユーザーに割り当てられる一意のIDです。 |
環境変数
環境変数は、APIキーやデータベースのパスワードといった機密性の高い情報を保護する際に、ワークフロー実行時に活用されます。 これらはコードに直接書き込むのではなく、ワークフローに設定され、異なる環境間での共有が可能になっています。
サポートされるデータ型には以下の3つがあります:
文字列
数値
シークレット
環境変数は以下の特徴を持ちます:
多くのノードでグローバルに参照可能です;
同一の環境変数名を複数設定することはできません;
ノードの出力変数は基本的に読み取り専用で、書き換えることはできません;
会話変数
会話変数は、チャットフローアプリでのみ使用されます。
ユーザーは会話変数を使っで、チャットフローの会話内で一時的に特定の情報を保存し、同じワークフロー内の複数のチャットにわたってその情報を参照することができます。 例えば、コンテキスト、チャットボックスにアップロードされたファイル(近々配布予定)、ユーザーが会話中に入力した設定などが含まれます。この機能は、LLM(大規模言語モデル)に「メモ」を提供するようなもので、メモリエラーによる情報のバイアスを回避できます。
以下の6種類のデータ型をサポートしています:
文字列
数値
オブジェクト
文字列配列
数値の配列
オブジェクトの配列
会話変数には次のような特徴があります:
会話変数はチャットフロー内のほとんどのノードでグローバルに参照可能です;
会話変数にデータを書き込むには、変数代入ノードを使用する必要があります;
会話変数は読み書き可能な変数です;
会話変数と変数代入ノードの具体的な使用方法については、変数代入をご参照ください。
注意事項
変数名の重複を避けるため、ノードの命名を繰り返すことはできません。
ノードの出力変数、通常は固定変数であり、編集できません。
Last updated