Dify触ってみた
Dify触ってみたので所感を書いていきます。入門書はこちらを拝読。
Difyとは
Dify(ディファイ)とは、ノーコード/ローコードでAIアプリを簡単に構築・公開できるプラットフォーム。 ChatGPTなどのLLMを使ったAIアプリをGUIで簡単に作れる。OpenAI、Anthropic、Amazon Bedrock、Geminiなど複数のLLMに対応。(OpenAIのGPTsなどでも似たようなことができるが、GPTsならOpenAIのChatGPTしか使えないので各社のLLMを選べるメリットがある)チャットボットなどはかなり簡単に作れる。
使い方イメージ
入門書の営業メール作成アプリはこんな感じ。チャットボット形式だとかなりシンプルでGUIでノードを設定するところさえ無い。
プロンプトと変数を設定し、使用するときは変数に値(自分の名前や相手企業の情報など)を入力するだけ。後述するが繰り返して使うことが想定されるため、プロンプトは可能な限り凝ったほうがDifyを使うバリューが高いだろう。
GUIで複雑な機構も実現可能
チャットフロー形式のアプリでは、コードなしでもプログラム的なことはかなり自由度高く実現可能。 ただしそれだけ複雑なことをやるのであればコードのほうが楽なところも結構ある。極端な例を出せば、繰り返しのチェックなどで変数をインクリメントするにはコードならi++とかi=i+1で済むのだが、Difyでは変数用のノードを作って…いろいろ設定して…前と後ろをつなげて…と結構面倒くさい。もちろんアプリ実装の手間などが無いので、相当複雑にならない限りはDifyに軍配が上がると思われるが。
入門書にある稟議書精査アプリのフローチャート。いくらでも複雑な分岐が可能に思えるが、そのたびにこのノードを一つ設定する必要があるのでまあまあ面倒。LLMにどんな話題か判定させてその結果を分けることも可能。
向いている用途
単発の作業であればその内容をLLMに入力したほうが断然早いので、定期的に何度もやる作業か、あるいは企業が自社の社員に提供して効率化・正規化を図るなどの用途に向いているように思う。入門書には営業電話練習BOTなんてのもあったが確かに練習は繰り返しやるものだし、毎回レギュレーションをLLMに教えるのも大変なので向いている用途かもしれない。
料金
使った分だけ払う従量課金制。ただこれは、LLMのAPIキーを要求されるのでLLM側に払う課金体制。 Dify自身には無料/有料プランがあるが、無料だと作れるアプリが5つなど結構制限が厳しい(入門書のアプリを全部残しておくことさえできない)。先述したように、基本的に他人に使わせたり事業規模が大きいところに需要がありそうなので、Difyを使う意味がある人・企業なら課金前提になるかもしれない。実際に一番安い課金プランでも59$とまあまあお高め。
まとめ
まだ入門書が2割ほど残っている(RAGなども実現可能)がとりあえずの感想としては、便利だがそこそこ限定的といった感じ。AmazonBedrockよりは全然簡単な印象。 作ったアプリは簡単にインポート・エクスポートができるので自分が使わなくてもDifyマネージャーみたいなお仕事はあるかもしれない。
おまけ(近況報告)
メイン内容以外の、ここ1ヵ月の勉強内容を報告するコーナー。
ミナイは スクレイピングを おぼえた!
といっても簡単な、静的なサイトのみ。Javascriptで生成される動的なサイトはまだ無理。pixivとかどうなってんのアレ。
ミナイは Pyautoguiを おぼえた!
勉強する前はPythonならどんなアプリでも操作できるイメージがあったけど、APIが使えない場合は力業で画面操作するしかないんですね…。つまづくときはだいたい画像認識がうまく行ってない。
APIが使えるならAPI、そうでないならスクレイピング、それでもダメならPyautoguiという感じで自動化を進めております。数秒節約するために数時間・数日かけるの面白すぎる。 昔は挫折したけど本質的にはプログラムが好きなのかもしれない。
為替予測プログラム近況
現状、3つのLSTMモデルを並行して予測を実践中。これによって分散投資と疑似的なアンサンブル学習を実現できている(はず)。ここ2週間の損益はこちら。
約200回のトレードでなんとかプラスを実現。トランプショック環境下でもそれなりに頑健性を保てている気がするのでしばらくこれでやってみる予定。Pyautoguiによる自動化も進めており、進捗は8割くらい。