🧩
概念 #Dify #LLMOps #ワークフロー #AIアプリ #オープンソース 📚 Dify機能ガイド

Dify概要・アプリ種別・アーキテクチャ

Difyの全体像・3種類のアプリケーション・コアコンポーネントの関係を理解する入門ガイド。

Dify とは

Dify は LLMアプリを視覚的に構築・運用するためのOSSプラットフォーム。バックエンドのプロンプト管理・RAGパイプライン・エージェント実行・観測機能をすべてUIから操作できる。

コードを書かずに LLM アプリを本番運用できる、というのが Dify の核心的な価値。
"LLM アプリの GitHub" を自称しており、OSS として自己ホスト可能。

3種類のアプリケーション種別

┌──────────────────────────────────────────────────────────────┐
│                     Dify アプリ種別                           │
├───────────────┬──────────────────────┬───────────────────────┤
│  Chatbot      │  Workflow            │  Chatflow             │
│(会話型)      │(単発実行型)         │(会話×ワークフロー)   │
├───────────────┼──────────────────────┼───────────────────────┤
│ユーザーと      │ 1回の起動で完結。     │ 会話ターンごとに       │
│自然言語で      │ バッチ処理・          │ ワークフローが         │
│対話する        │ データ変換に最適      │ 実行される             │
├───────────────┼──────────────────────┼───────────────────────┤
│ Agent モード  │ ノードベースの        │ 会話変数で文脈を        │
│で自律推論も    │ 決定論的フロー        │ ターン間で保持          │
│可能            │                      │                        │
└───────────────┴──────────────────────┴───────────────────────┘

選び方の指針

要件推奨種別
ユーザーとの自由な対話Chatbot
入力→処理→出力の決まった自動化Workflow
文脈を保ちながら複雑な会話を処理Chatflow
バッチデータ処理・ETLWorkflow

コアコンポーネントの全体図

┌─────────────────────────────────────────────────────────────────┐
│                           Dify Platform                          │
│                                                                   │
│  ┌──────────────┐    ┌───────────────┐    ┌──────────────────┐  │
│  │ Prompt IDE   │    │  Workflow     │    │  Knowledge Base  │  │
│  │(プロンプト   │    │  Builder      │    │  (RAGパイプライン)│  │
│  │  設計・テスト)│    │(ノード配置)  │    │                  │  │
│  └──────┬───────┘    └──────┬────────┘    └────────┬─────────┘  │
│         │                   │                      │             │
│  ┌──────▼───────────────────▼──────────────────────▼──────────┐ │
│  │                    Application Runtime                      │ │
│  │                                                             │ │
│  │  ┌──────────┐  ┌───────────┐  ┌──────────┐  ┌──────────┐  │ │
│  │  │ Model    │  │  Tools    │  │ Variables│  │ Memory   │  │ │
│  │  │ Provider │  │ Plugins   │  │  System  │  │ Manager  │  │ │
│  │  └──────────┘  └───────────┘  └──────────┘  └──────────┘  │ │
│  └─────────────────────────────────────────────────────────────┘ │
│                                                                   │
│  ┌───────────────────────────────────────────────────────────┐   │
│  │                  Observability & API                       │   │
│  │   Logs / Traces / Annotations / REST API / Webhook        │   │
│  └───────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

セルフホスト構成(Docker Compose)

# 主要コンテナ構成
services:
  api:      # FastAPI バックエンド
  worker:   # Celery 非同期ワーカー
  web:      # Next.js フロントエンド
  db:       # PostgreSQL(アプリデータ)
  redis:    # キャッシュ・キュー
  weaviate: # ベクトルDB(デフォルト)
  nginx:    # リバースプロキシ
  sandbox:  # Codeノード用隔離実行環境
  ssrf_proxy: # SSRF防止プロキシ

# 最小スペック: 2コア CPU / 4GB RAM

Dify vs 他ツールの位置付け

LangChain     : コードライブラリ。柔軟だが開発者専用
LlamaIndex    : RAG特化のフレームワーク
Flowise       : ノーコード。Difyより機能が少ない
Dify          : 開発者 + ビジネスユーザーが両方使える
               視覚的UI + API両対応 + 自己ホスト可能

このシリーズで学べること

ドキュメント内容
ワークフロー vs チャットフロー実行モデルの違い
ノード一覧と制御フロービルディングブロック
ナレッジベース・RAG文書検索の仕組み
モデルプロバイダー統合LLM接続設定
エージェント機能自律推論の実装
ツール・プラグイン外部連携
変数システムデータの流れ
API・デプロイ本番公開
可観測性・デバッグ品質管理

実践ユースケース

出典: Dify公式ドキュメント https://docs.dify.ai