Difyの自作プラグイン開発
どうもこんにちはだいちです。
Difyというサービスに自作のプラグインを追加してみようと思い、今回は事前準備のところまでやってみました。
Difyとは
ローコードでアプリケーションがつくれるプラットフォームです。
ツール連携などを行うことができるので、外部ツールを簡単にアプリに組み込むことができます。
Difyのプラグインとは
DifyはツールやAPI、函数をノードとしてGUI上でつなぎ合わせたり、組み合わせたりして、一連の処理を実装していくことができます。そのひとつひとつのツールなどはもともとDify側が提供したものしかなく、独自処理をノードとして組み込むには汎用的なHTTPのノードを使って"APIをたたく"ことでしか実現できませんでした。
しかし、現在のDifyではプラグインの開発キットが公開されており、誰でも独自処理をプラグインとして実装することで、Dify上のカスタムなノードとして利用できます。
準備
公式の情報は公式のドキュメントを参照してください。
スキャフォールディングツールのダウンロード
スキャフォールディングツールはコードからテンプレートのコードを生成してくれるツールのことで、今回はPythonコードからDifyのプラグイン用のコードを生成してくれるツールのことです。プラグインはこのツールを使うことで作ることができます。
1. dify-plugin-daemonのリリースをGitHubからダウンロード
リリースの中からダウンロードしたいものを選んでください。今回は現状最新バージョンのv0.0.4を選びました。
dify-plugin-darwin-XXX
, dify-plugin-linux-XXX
, dify-plugin-windows-XXX
とあるので自分のパソコンにあったものを選んでダウンロードしてください。僕はWindowで使おうと思ってるのでdify-plugin-windows-amd64
を選びました。
2. 実行してみる
ダウンロードした実行ファイルを実行してみます。
ダウンロードした実行ファイルをバージョンフラグをつけて実行してみてバージョンが出てきたら利用可能です。
僕がダウンロードしたのはwindowsの0.0.4版の"dify-plugin-windows-amd64.exe"なので(path/to/file)/dify-plugin-windows-amd64 version
とすれば以下のようになります。
$ ./dify-plugin-windows-amd64 version
v0.0.4
環境変数を設定する(Tips)
環境変数に実行ファイルを設定すると、どこからでもコマンドを利用できるので便利です。
環境変数の設定についての説明は省きます。
僕は環境変数に設定して、ファイル名も変更したのでdify
コマンドだけでファイルを実行できるようにしました。以降のコマンドではdify
で先ほどの./dify-plugin-windows-amd64
が実行されます。
Python実行環境のインストール
開発やトランスパイルのために必要。
これの説明は省きます。
ツール開発
プラグインには様々な形があります。
- ツール型
- モデル型
- エージェント戦略
- 拡張機能型
今回はツール型プラグインの開発をしていきます。
公式の情報は公式ドキュメントを参照して下さい。
プロジェクトの作成
新しいリポジトリを作って以下のコマンドを実行してプロジェクトを作成しました。
$ dify plugin init
//TODO:
Discussion