Difyとは
LLMアプリケーションをビジュアルなワークフロー画面で構築・運用できるオープンソースのLLMOpsプラットフォーム
ひとことで言うと
画面上でAIアプリの処理の流れを組み立てて作れる、オープンソースのツール。
概要
Difyとは、LLMを活用したチャットボット・エージェント・RAGアプリケーションを、コードを書かずにビジュアルなワークフロー画面上で構築・公開・運用できるオープンソースのプラットフォーム。 プロンプト管理、外部データソースの取り込み、複数のLLM・ツールの組み合わせ、公開後のAPI提供やモニタリングまでを1つのプラットフォームでカバーしており、いわゆるLLMOps(LLMアプリケーションの開発・運用)を統合的に扱う点が特徴。 自社開発のLLMアプリケーションを、エンジニア以外の担当者でも運用・改善しやすくすることを狙いとしたプラットフォームで、企業内でのLLM活用の内製化を支援する用途で導入が進んでいる。
背景
LLMアプリケーションの開発には、プロンプト設計・データ連携・エージェント構築だけでなく、公開後の運用・監視・改善といった継続的なプロセスも必要になる。 Difyは、こうした一連のプロセスをコードを書かずに扱えるプラットフォームとして開発された。
歴史
2023年: Dify(開発元LangGenius)が公開され、ビジュアルなワークフロー構築とLLMOps機能を統合したプラットフォームとして展開している。
アーキテクチャ
プロンプトテンプレート、外部データを取り込むナレッジベース(RAG)、複数のLLM呼び出しやツール呼び出しをつなぐワークフローエディタといった機能を、Web UI上で組み合わせて構築する。 構築したアプリケーションは、Web埋め込み用のUIやAPIエンドポイントとして公開できる。
コード例
公開したアプリのAPI呼び出し(概念例)
import requests
response = requests.post(
"https://api.dify.ai/v1/chat-messages",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"inputs": {}, "query": "こんにちは", "user": "user-1", "response_mode": "blocking"},
)
print(response.json()["answer"])利点
欠点
- 非常に複雑・特殊な処理を実装したい場合、コードベースのフレームワークほどの柔軟性はない
- プラットフォーム自体の学習コストがあり、GUIの構成に慣れる必要がある
- セルフホストする場合、インフラの構築・運用の知識を要する
比較
関連用語
よくある質問
Difyは自前のサーバーでも動かせる?
オープンソース版が公開されており、自前のサーバーへセルフホストする形でも、クラウド版のマネージドサービスとしても利用できる。
参考文献
- Official WebsiteDify
- GitHublanggenius/dify