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