Dify
日本語
日本語
  • 入門
    • Difyへようこそ
      • 特性と技術仕様
      • モデルプロバイダーリスト
    • クラウドサービス
    • コミュニティ版
      • Docker Compose デプロイ
      • ローカルソースコードで起動
      • aaPanelでのデプロイ方法
      • フロントエンドDockerコンテナを単独起動
      • 環境変数の説明
      • よくある質問
    • Dify Premium
    • Dify 教育版
  • マニュアル
    • モデル
      • 新しいプロバイダーの追加
      • 事前定義されたモデルの追加
      • カスタムモデルの追加
      • インタフェース
      • 配置ルール
      • 負荷分散
    • アプリ・オーケストレーション
      • アプリの作成
      • チャットボット
        • 複数モデルのデバッグ
      • エージェント
      • ツールキット
        • コンテンツモデレーション
    • ワークフロー
      • キーコンセプト
      • 変数
      • ノードの説明
        • 開始
        • 終了
        • 回答
        • LLM
        • 知識検索
        • 質問分類
        • 条件分岐
        • コード実行
        • テンプレート
        • テキスト抽出ツール
        • リスト処理
        • 変数集約
        • 変数代入
        • 反復処理(イテレーション)
        • パラメータ抽出
        • HTTPリクエスト
        • エージェント
        • ツール
        • 繰り返し処理(ループ)
      • ショートカットキー
      • オーケストレートノード
      • ファイルアップロード
      • エラー処理
        • 事前定義されたエラー処理ロジック
        • エラータイプの概要
      • 追加機能
      • プレビューとデバッグ
        • プレビューと実行
        • ステップ実行
        • 対話/実行ログ
        • チェックリスト
        • 実行履歴
      • アプリケーション公開
      • JSON形式での出力
      • 変更通知:画像アップロード機能がファイルアップロード機能に統合されました
    • ナレッジベース
      • ナレッジベース作成
        • 1. オンラインデータソースの活用
          • 1.1 Notion からデータをインポート
          • 1.2 Webサイトからデータをインポート
        • 2. チャンクモードの指定
        • 3. インデックス方式と検索オプションの設定
      • ナレッジベースの管理
        • ナレッジベース内ドキュメントの管理
        • APIを活用したナレッジベースのメンテナンス
      • メタデータ
      • アプリ内でのナレッジベース統合
      • リコールテスト/引用帰属
      • ナレッジベースの要求頻度制限
      • 外部ナレッジベースとの接続
      • 外部ナレッジベースAPI
    • ツール
      • クイック統合ツール
      • 高度統合ツール
      • ツールの設定
        • Google
        • Bing
        • SearchApi
        • StableDiffusion
        • Perplexity Search
        • AlphaVantage 株式分析
        • Dall-e
        • Youtube
        • Serper
        • SearXNG
        • SiliconFlow(Flux AI サポート)
        • ComfyUI
    • アプリ公開
      • シングルページWebアプリとして公開
        • Web アプリの設定
        • テキスト生成アプリ
        • 対話型アプリ
      • Webサイトへの埋め込み
      • API基づく開発
      • フロントエンドテンプレートに基づいた再開発
    • アノテーション
      • ログとアノテーション
      • アノテーション返信
    • モニタリング
      • データ分析
      • 外部Opsツール統合
        • LangSmithを統合
        • LangFuseを統合
        • Opikを統合
    • 拡張
      • API 拡張
        • Cloudflare Workers を使用した API ツールのデプロイ
        • コンテンツモデレーション
      • コード拡張
        • 外部データツール
        • コンテンツモデレーション
    • コラボレーション
      • 発見
      • メンバーの招待と管理
    • 管理
      • アプリの管理
      • チームメンバーの管理
      • 個人アカウントの管理
      • サブスクリプション管理
      • バージョン管理
  • ハンドオン工房
    • 初級編
      • ゼロからAI画像生成アプリの構築方法
      • AIエージェントの実践:個人のオンライン旅行アシスタントの構築方法
    • 中級編
      • チャットストリームエージェントを使用した Twitter アカウントの分析方法
      • ファイルアップロードを使用した記事理解アシスタントの構築方法
  • コミュニティ
    • サポートの求め
    • 貢献者ガイド
    • ドキュメントへの貢献
  • プラグイン
    • 機能紹介
    • クイックスタート
      • プラグインのインストールと活用
      • プラグイン開発の入門
        • 開発環境のセットアップ
        • ツール型プラグイン
        • モデル型プラグイン
          • モデルプロバイダーの構築
          • 定義済みモデルの組み込み
          • カスタムモデルの組み込み
        • エージェント戦略プラグイン
        • 拡張機能型プラグイン
        • バンドル
      • プラグインのデバッグ方法
    • プラグイン管理方法
    • スキーマ仕様
      • Manifest(マニフェスト)
      • Endpoint(エンドポイント)
      • Tool(ツール)
      • Agent(エージェント)
      • Model(モデル)
        • モデル設計規則
        • モデルスキーマ
      • 一般的な標準仕様
      • 永続化されたストレージ
      • Difyサービスの逆呼び出し
        • アプリ
        • モデル
        • ツール
        • ノード
    • ベストプラクティス
      • Slack Bot プラグインの開発
      • Dify MCP プラグインガイド:ワンクリックで Zapier に接続してメールを自動送信
    • プラグインの公開
      • プラグインの自動公開
      • Difyマーケットプレイスへの公開
        • プラグイン開発者ガイドライン
        • プラグインのプライバシー保護に関するガイドライン
      • 個人GitHubリポジトリへの公開
      • ローカルでの公開と共有
      • 第三者署名検証のためにプラグインに署名する
    • よくある質問
  • 開発
    • バックエンド
      • DifySandbox
        • 貢献ガイド
    • モデルの統合
      • Hugging Faceのオープンソースモデルを統合
      • Replicateのオープンソースモデルを統合
      • Xinferenceでデプロイしたローカルモデルを統合
      • OpenLLMでデプロイしたローカルモデルを統合
      • LocalAIでデプロイしたローカルモデルを統合
      • Ollamaでデプロイしたローカルモデルを統合
      • LiteLLM Proxyを使用してモデルを統合する
      • GPUStackとの統合によるローカルモデルのデプロイ
      • AWS Bedrock上のモデル(DeepSeek)の接続
    • 移行
      • コミュニティ版を v1.0.0 に移行する
  • もっと読む
    • 活用事例
      • DeepSeek & Dify連携ガイド:多段階推論を活用したAIアプリケーション構築
      • Ollama + DeepSeek + Dify のプライベートデプロイ:あなた自身のAIアシスタントの構築方法
      • あなた専用のQAチャットボットのトレーニング方法
      • コードなしでMidjourney プロンプトボットを作成する方法
      • Notion AI アシスタントを構築する
      • 数分で業務データを持つ公式サイトのAIチャットボットを作成する方法
      • DifyチャットボットをWixサイトに統合する方法
      • AWS Bedrockのナレッジベースに統合する方法
      • Difyで大規模言語モデルの「競技場」を体験する方法:DeepSeek R1 VS o1 を例に
      • Difyスケジューラーの構築
      • DifyクラウドでAI Thesis Slack Botを構築
    • さらに読む
      • LLMOpsとは何ですか?
      • 配列変数とは何ですか?
      • 検索拡張生成(RAG)
        • ハイブリッド検索
        • Rerank
        • リトリーバルモード
      • プロンプトエンジニアリング
      • DifyでJSONスキーマ出力を使用する方法
    • FAQ
      • ローカルデプロイに関するFAQ
      • LLM設定と使用に関するFAQ
      • プラグイン
  • ポリシー
    • オープンソースライセンス
    • ユーザ規約
      • 利用規約
      • プライバシーポリシー
      • 合規性レポートの入手方法
Powered by GitBook
On this page
  • システム変数
  • 環境変数
  • 会話変数
  • 注意事項
  1. マニュアル
  2. ワークフロー

変数

PreviousキーコンセプトNextノードの説明

Last updated 6 months ago

ワークフローやチャットフローは、単独ノードで構成されています。多くのノードは入力と出力のアイテムを持っていますが、各ノードの入力および出力情報は一貫性がなく、ダイナミックに変化します。

固定のシンボルを用いて、ダイナミックなコンテンツをどのように参照するのでしょうか? 変数はダイナミックなデータコンテナとして、さまざまな内容を格納・送信し、異なるノードの間で相互に参照され、お互いに情報を移動することができます。

システム変数

システム変数とは、チャットフロー/ワークフロー内でグローバルに使用される事前設定されたシステムレベルのパラメータです。すべてのシステムレベルの変数は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種類のデータ型をサポートしています:

  • 文字列

  • 数値

  • オブジェクト

  • 文字列配列

  • 数値の配列

  • オブジェクトの配列

会話変数には次のような特徴があります:

  • 会話変数はチャットフロー内のほとんどのノードでグローバルに参照可能です;

  • 会話変数は読み書き可能な変数です;

アプリケーションをデバッグしている際に、会話変数の値がどのように変化していくかを確認したい場合は、チャットフローアプリのプレビューページの上部にある会話変数のアイコンをクリックしてみてください。

注意事項

  • 変数名の重複を避けるため、ノードの命名を繰り返すことはできません。

  • ノードの出力変数、通常は固定変数であり、編集できません。

会話変数にデータを書き込むには、ノードを使用する必要があります;

会話変数と変数代入ノードの具体的な使用方法については、をご参照ください。

変数代入
変数代入
ワークフロー内のシステム変数
チャットフロー内のシステム変数
環境変数
chatflow app system variables
Environment Variables