Dify 完全ガイド【エンジニア編】— Claude 4接続・Dockerセルフホスト・外部API統合まで【2026年版】
DifyをClaudeモデルで使う方法をエンジニア向けに解説。クラウド版vsDockerセルフホストの選び方、Claude 4の接続設定、MCP連携、既存アプリへのAPI統合、フリーランスが顧客にDifyで納品する実践フローまで。
エンジニアのゆとです。
Difyという名前は聞いたことがあっても、「ChatGPTっぽいUI作れるやつ」くらいの認識のまま素通りしていた。ちゃんと触ってみたら、チャットボット以上に「AIバックエンドのミドルウェア」として使えるツールだとわかった。
この記事ではエンジニア視点で、Difyをどう使うか・どこに使うべきかを整理する。
Difyとは(エンジニア向け3行サマリー)
- LLM(Claude/GPT-4o/Gemini等)を使ったアプリを作るためのOSSプラットフォーム
- チャットボット・テキスト生成・エージェント・ワークフローをビジュアルエディタで構築
- クラウド版(dify.ai)とセルフホスト版(Docker)の両方で使える
GitHubスター数は80,000超(2026年時点)で、OSS系AIツールの中でも人気が高い部類だ。
クラウド版 vs Dockerセルフホスト
最初にどちらを使うか選ぶ必要がある。
| クラウド版(dify.ai) | Dockerセルフホスト | |
|---|---|---|
| セットアップ | アカウント登録だけ | Docker環境が必要 |
| 料金 | 無料〜$59/月 | インフラ費用のみ |
| データの保管場所 | Difyのサーバー | 自分のサーバー |
| カスタマイズ性 | 低い | 高い(コード変更可能) |
| 向いてる用途 | 個人・プロトタイプ | 本番・機密データを扱う案件 |
個人での検証やプロトタイプ作成はクラウド版、顧客データを扱う業務システムや本番環境はDockerセルフホストが基本的な判断軸になる。
Dockerセルフホストの手順
# リポジトリをクローン
git clone https://github.com/langgenius/dify.git
cd dify/docker
# 環境変数ファイルをコピー
cp .env.example .env
# 起動
docker compose up -d
これだけでlocalhost:80でDifyが起動する。初回起動後にブラウザで管理者アカウントを作成する。
PostgreSQL・Redis・Weaviateがそれぞれコンテナで起動するので、メモリは最低8GB推奨。Mac miniや小さめのVPSでも動くが、最低限の要件を確認してから試す。
セルフホストを本番で使う場合、nginx + Let’s Encrypt でHTTPS化が必要。dify/docker/nginx/ 配下にnginx設定のテンプレートがあるので参考にする。HTTPのまま本番に出すのは避けること。
Claude 4をDifyで使う設定
DifyはデフォルトではモデルのAPIキーが設定されていない。Claudeを使うには以下の手順。
設定手順
- Difyダッシュボード右上の「設定」→「モデルプロバイダー」
- 「Anthropic」を選択
- Anthropic APIキーを入力して保存
設定後、アプリ作成時のモデル選択でClaudeが選べるようになる。
使えるモデル(2026年時点)
| モデル | 用途 |
|---|---|
| claude-sonnet-4-5 | バランス型。日常的な業務処理に |
| claude-opus-4-5 | 高品質が必要な場合(コスト高め) |
| claude-haiku-3-5 | 高速・低コスト。シンプルな処理に |
Difyのモデル選択画面では表示名が変わっている場合があるので、モデルIDで確認すること。古いモデル(claude-2等)は廃止されているので注意。
Difyで作れる4種類のアプリ
1. チャットボット
LLMとの対話型UIを作る最もシンプルな形式。システムプロンプトを設定してURLを発行すれば、ブラウザから使えるチャットボットが完成する。
業務用途例:
- 社内FAQ対応ボット(ナレッジベースと組み合わせ)
- 顧客向けサポートチャット
2. テキスト生成
フォーム入力を受け取ってテキストを生成する形式。「要件を入力したら議事録のテンプレートを作る」系のツールに向いている。
3. エージェント
ツールを自律的に呼び出しながら目標を達成するモード。後述のMCP連携と組み合わせると強力。
4. ワークフロー
複数のステップを順番に実行する。「Webサイトをスクレイピング → 要約 → 翻訳 → Slackに送信」のような複数処理のパイプラインを作れる。
チャットボットはUIとして便利だが、既存のWebアプリにDifyを組み込む場合はAPIモードで使うことが多い。その場合、ワークフローとエージェントの形式が最も柔軟に使える。
ナレッジ(RAG)機能の使い方
Difyには独自のナレッジベース機能があり、ドキュメントをアップロードするとRAG(Retrieval-Augmented Generation)が設定できる。
手順
- 「ナレッジ」→「作成」
- PDFやMarkdownをアップロード(またはNotionやGitHubから取得)
- チャンク分割の設定(デフォルトで問題ない場合が多い)
- インデックス構築(時間がかかる場合あり)
- アプリのシステムプロンプトでナレッジベースを参照する設定を追加
製品マニュアル・仕様書・FAQをナレッジベースに入れて、それを参照するチャットボットを作るのがよくあるユースケース。
MCP連携(2026年の新機能)
Dify 1.0以降でMCP(Model Context Protocol)サーバーとの連携が可能になった。
設定方法:
- 「設定」→「Model Context Protocol」
- MCPサーバーのコマンドと引数を入力
- エージェントモードのアプリでMCPツールが使えるようになる
例えばBrave Search MCPサーバーを追加すれば、DifyのエージェントがリアルタイムでWeb検索できるようになる。GitHub MCPを追加すれば、チャットからGitHubのissueを操作できる。
{
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-api-key"
}
}
Claude CodeのMCPと同じ設定形式なので、CC用に設定したMCPサーバーをDifyでも使えるケースが多い。
既存アプリへのAPI統合
Difyで作ったアプリはAPIとして外部から呼び出せる。これがエンジニア的に一番使い道のある機能だ。
APIの呼び出し方
import httpx
DIFY_API_KEY = "app-xxxxxxxxxxxx"
DIFY_API_URL = "https://api.dify.ai/v1" # セルフホストなら自分のURL
def chat_with_dify(message: str, conversation_id: str = "") -> dict:
"""Difyのチャットアプリを外部から呼び出す"""
response = httpx.post(
f"{DIFY_API_URL}/chat-messages",
headers={
"Authorization": f"Bearer {DIFY_API_KEY}",
"Content-Type": "application/json"
},
json={
"inputs": {},
"query": message,
"response_mode": "blocking",
"conversation_id": conversation_id,
"user": "user-001"
}
)
return response.json()
result = chat_with_dify("在庫管理システムの仕様書を要約して")
print(result["answer"])
print(result["conversation_id"]) # 次の呼び出しで使う
ストリーミングレスポンスが必要な場合はresponse_mode: "streaming"を使う。
ワークフローの呼び出し
def run_dify_workflow(inputs: dict) -> str:
"""Difyのワークフローを実行"""
response = httpx.post(
f"{DIFY_API_URL}/workflows/run",
headers={"Authorization": f"Bearer {DIFY_API_KEY}"},
json={
"inputs": inputs,
"response_mode": "blocking",
"user": "user-001"
}
)
result = response.json()
return result["data"]["outputs"]
フリーランスがDifyで納品する実践フロー
クライアントに「AIチャットボットを作ってほしい」と言われたとき、Difyをバックエンドにする構成が使いやすい。
ケース: 中小企業向け社内問い合わせBot- 要件整理: 対応範囲(在庫・人事・経費)、社内ドキュメントの場所
- DifyにRAGセットアップ: 社内マニュアルPDFをナレッジベースに投入
- システムプロンプト調整: 「〇〇会社のAIアシスタント」としての人格設定
- テスト: 典型的な質問10件を試して精度確認
- Web埋め込み or API提供: DifyのiFrameをイントラネットに埋め込む、またはAPI経由で既存社内システムに統合
- ドキュメント納品: 管理者がナレッジベースを更新する手順書を渡す
実装費用の目安として、設計・構築・テストで2〜3日程度。セルフホストサーバーのランニングコストは月数千円。Claudeの実行コストは利用量次第だがRAGの問い合わせなら1回あたり数円程度。
DifyはOSSなので直接のアフィリプログラムはない。ただしDifyで使うサーバーのホスティング(AWS/GCP/VPS)や、DifyにつなぐClaudeのAPIキーを顧客が自分で契約するフローにする場合、それぞれのアフィリを経由してもらう構成は取れる。
他ツールとの比較
| ツール | 特徴 | 向いてる用途 |
|---|---|---|
| Dify | OSSでセルフホスト可、RAG標準搭載 | 業務システム統合、社内ツール |
| MindStudio | ノーコード重視、200モデル対応 | 素早いプロトタイプ、個人ツール |
| n8n | ワークフロー自動化特化 | API連携・定期実行・Webhook処理 |
| LangChain (Python) | フルコード実装、最高の柔軟性 | 複雑な本番エージェントシステム |
Difyの強みは「エンジニア不在のチームでも使えるUI」と「セルフホストによるデータ主権」の両立だ。n8nと比べるとAIネイティブ、LangChainと比べるとノーコード寄り、MindStudioと比べるとセルフホストが強い。
まとめ
Difyをエンジニア的に使うなら:
- プロトタイプはクラウド版で即日試す
- 本番・機密データはDockerセルフホスト
- Claudeとの接続はモデルプロバイダー設定でAPIキーを登録
- 外部アプリ統合はDify APIを呼び出す
- MCP連携でエージェントの能力を拡張
「チャットボット以上のAIシステム」を顧客向けに作るとき、Difyはプロジェクトの最初のブロックとして使いやすい選択肢だ。自分でPython実装に移行するとしても、Difyでプロトタイプを作ってから移行した方が要件の整理が進む。