Dify オープンソースのLLMアプリケーション開発プラットフォームとして、以下のようなアプリケーションを開発することができます。 Agent ビルド, AI workflow プログラム RAG 検索とモデル管理のすべてを網羅する機能は、開発者コミュニティで人気を博している。エレガントなデザインとスムーズな操作性で知られ、開発チームの驚異的な反復スピードで機能が改善され続けている。
しかし、アプリケーションシナリオの複雑さが増すにつれ Dify ワークフロー・オーケストレーションにおける中核的な限界が明らかになりつつある。 Chatflow オーケストレーションと、それらの間の相互呼び出し。つまり、すべてのビジネス・ロジックが単一の Chatflow キャンバスを使用する。ロジックが複雑になると、このキャンバスは急速に拡大し、保守性が劇的に低下する。
(躊躇なく Dify を組み合わせる方法を提供する。 Chatflow コンバート Workflow しかし、この方法には2つの欠点がある:
- ストリーミング出力はできませんツールノードとして呼び出される
Workflow非対応Chatflowネイティブ・ストリーミング出力機能。これは、特に即時のフィードバックを必要とする会話型アプリケーションでは、ユーザー体験を犠牲にしている。 - 複数の出力ノードはサポートされていません。::
Workflow出力が単一であるため、複雑なデータ処理や分岐ロジックのシナリオでの使用が制限される。
このような制限を打破するために、コミュニティ開発者たちは次のようなプログラムを立ち上げた。 Chatflow Invoker プラグインです。このプラグインは、ローカルまたはリモートの Chatflow プロセス内の別のノードとしてカプセル化され、クロス・プロセスを可能にする。 Chatflow AIアプリケーションのシームレスな呼び出しは、AIアプリケーション開発のモジュール性、柔軟性、保守性を効果的に高める。

Chatflow Invoker プラグインの核となる強みは
- 気付く
Chatflowモジュール性複雑なビジネスロジックは、複数の独立したロジックに分解することができます。Chatflowユニットとなり、ロジックの再利用性が大幅に向上した。 - クロス・サポート
Chatflow各論異なるChatflowデータや指示は両者間で簡単にやり取りできるため、より柔軟なビジネスプロセスが可能になる。 - 完全なストリーミング出力体験を維持するを越えても
Chatflowネイティブ・ストリーミング出力機能は、通話シナリオでも保持することができ、エンドユーザーとのインタラクション体験を保証する。
使用方法
Chatflow Invoker ローカルとリモートの両方の通話モードをサポートし、シングル・インスタンスと分散デプロイの異なるニーズに対応します。
ローカル・チャットフロー・コール
市内通話は、同一地域内の通話に適用されます。 Dify インスタンスは内部的に Chatflow 振り付けを作る。
入力パラメータ:
APP ID(必須): 目的ChatflowこのIDはDifyアプリケーションのURLから直接Prompt(必須):ターゲットに送信ChatflowクエリーやコマンドのInputs JSON(オプション): JSONフォーマットの文字列。Chatflow開始ノードの入力パラメータ。Conversation ID(オプション): 複数回の対話を維持するために使用されるセッションID。conversation_id.
操作手順:
- ポジショニングターゲット
ChatflowなAPP ID.例えばhttps://dify/app/f011f58c-b1ce-4a9b-89b2-f39fce8466a8/workflowこのURLではf011f58c-b1ce-4a9b-89b2-f39fce8466a8まるでAPP ID. - ある
Chatflow Invokerノード内のコンフィギュレーションInputs JSONパラメータで、受信する変数を定義する。

- 返信ノードで
stream_output変数を使用して、ストリーミング出力の結果を受け取り、ダウンストリームに渡す。

- テストを実行すると、プラグインが別の
Chatflowそして、ストリーミング出力コンテンツをそのまま返す。

リモートチャットフロー通話
リモートコールの機能は、さらに次のように拡張されている。 Dify アプリケーションの境界を越えて、異なるアプリケーションを構築することができます。 Dify 分散AIアプリケーションのインスタンス。
入力パラメータ:
URL(必須):リモートDifyインスタンスのメッセージAPIアドレス。http://127.0.0.1:5001/v1/chat-messages.API Key(必須): 目的ChatflowのAPIアクセスキー。Prompt(必須): 送信するクエリーまたはコマンド。User(必須): 以降のログ検索および使用統計のためにエンドユーザーを識別するために使用される文字列。Inputs JSON(オプション):次のパスに渡すChatflow開始ノードの入力パラメータ。Conversation ID(オプション): 複数ラウンド対話のステータスを維持するために使用されるセッションID。
操作手順:
- 呼び出す必要のあるリモートでは
Chatflowを生成する。API Key.

- リモート接続
DifyのAPIアドレスが生成される。API Key埋めるChatflow Invokerプラグインの対応するフィールド。

- 輸入
Promptを実行することで、ストリーミング出力を維持しながらリモートコールを実装することができる。

ローカル通話よりもリモート通話の方が優れている点として、すべての通話記録が被呼者である Dify インスタンスは、デバッグと監視のために完全なログを残す。

開発指示
現在 Dify プラグインを開発するためのリファレンス・ドキュメントは比較的少なく、AIモデルには関連するトレーニング・データが不足している。しかしDify 公式コードリポジトリには豊富なプラグインサンプルがあり、学習と開発のための素晴らしいリソースとなっている。
ある Chatflow Invoker の開発期間中 app-selector このコンポーネントにより、ユーザーはインターフェイスを通じて Chatflowしかし、このコンポーネントはツールノードのシナリオに欠陥があり、アプリケーションを選択することができなかった。そのため、最終的なアプローチは、手動で APP ID というアプローチもある。

Chatflow Invoker このプラグインは Dify 公式プラグインマーケットプレイスはオンライン上にあるので、ユーザーは直接検索してインストールすることができる。ソースコードはGitHubでも公開されている。
ソースURL:https://github.com/yzddmr6/chatflow_invoker






































