Difyをwatsonx Orchestrateから呼び出したい!
Difyは日本では特に人気の高い生成AIアプリケーション開発プラットフォームですが、watsonx Orchestrateと連携して利用することも可能です。watsonx OrchestrateからDifyで作成済みのエージェントやワークフローを呼び出すことで、以下のようなメリットがあります。
- Dify資産の有効活用
- Dify以外も含めた、複数エージェントやワークフローのオーケストレーション
- 分析や評価などのwatsonx Orchestrateが提供するガバナンス機能の活用
- 音声やMicrosoft Teamsなど、様々なチャネルとの接続
この記事では、Difyで作成したエージェントやフローを外部エージェントとしてwatsonx Orchestrateから呼び出す方法について説明します。
DifyのAPI
Difyで作成したアプリケーションはDifyが提供するAPIを用いて呼び出すことが可能です。具体的には以下のようなエンドポイントが提供されています。
連携パターン1:カスタム・ツールとしての連携
まず思いつくのは、watsonx Orchestrateでpythonのカスタム・ツールを作成し、エージェントから呼び出す方法です。こちらの記事で紹介したIBM Bobを用いれば、「Difyと連携するツールを作って」とお願いすればあっという間に開発が出来ると思います。
今回はツールとしてではなく、次に説明するエージェントとしての連携を行ってみたいと思います。
連携パターン2:外部エージェントとしての連携
watsonx Orchestrateは外部エージェントとの連携もサポートしています。具体的には以下のような外部エージェントと連携することが可能です。
- A2A Protocol
- External Chat (ChatCompletionAPI)
- watsonx Assistant
- Salesforce Agentforce
- watsonx.ai Agent Builder
しかし、残念ながらDifyのAPIは上記いずれにも直接は該当せず、そのままでは連携することができません。そこで外部ラッパーを実装を検討していたところ、Difyの開発元のlanggeniusからOpenAI Compatible Dify Appなる、OpenAI互換API(ChatCompletionAPI)に変換するプラグインが提供されていることが分かりました。今回はこれを使用してみたいと思います。
エージェントの作成
まずはDifyで簡単なエージェントを作成します。今回は以下のようなプロンプトのみを設定したシンプルなエージェントを作成しました。
Dify Pluginのインストールと設定
OpenAI Compatible Dify Appをインストールします。
プラグイン設定画面より、「+」アイコンをクリックし、以下の項目を設定します。
エンドポイント名:表示面なので任意の名前
API key:ChatCompletionAPIでアクセスする際のAPI key
App:先ほど作成したアプリケーション
メモリーモード:単体の会話か会話履歴を含めるか

「保存」をクリックすると、エンドポイントが生成されるので値をコピーしておきます。
外部エージェントの構成
Dify側の設定が完了したら次にwatsonx Orchestrateの外部エージェントの構成を行います。外部エージェントはwatsonx Orchestrate上のエージェントからコラボレーター・エージェントとして連携することが可能です。新規いエージェントを作成するか、任意のエージェントをエージェント・ビルダーで開き、エージェントをインポートします。
エージェント詳細の設定画面が表示されるので、以下のように設定します。
外部プロトコル:チャット補完を介した外部エージェント
認証タイプ:ベアラー・トークン
ベアラー・トークン:プラグインで指定したAPI Key
外部エージェントのURL:プラグインで生成されたURL
表示名:任意の名前
エージェント機能の説明:人事関連の質問に対応できることの説明
以上で構成は完了です。
動作確認
チャット画面より、人事に関する質問をしてみましょう。正しくDifyに転送されて回答を取得することが確認できました!
(SH_Dify_Agentというのが今回テスト用に作成した親エージェントで、休暇に関する質問のため、Dify人事エージェントに処理を転送すべきだと判断して転送し、回答を取得しています。)
まとめ
この記事では、watsonx OrchestrateとDifyを連携させる方法について説明しました。
DifyのAPIは独自形式のため、そのままでは接続できませんが、OpenAI Compatible Dify Appというプラグインを使用することで簡単に接続することができました。
watsonx Orchestrate自身も、エージェントやワークフローの機能を提供しますが、今後様々な種類のエージェントが普及するにつれ、オープンなエージェント連携基盤としての役割もさらに重要性を増していくのではないかと思われます。




