Dify入門:インストールから初めてのAIアプリ公開まで
Difyのローカル環境へのインストール・初期設定から、最初のAIチャットアプリを作成して公開するまでの手順を初心者向けに丁寧に解説します。
Dify入門:インストールから初めてのAIアプリ公開まで
「AIチャットボットやアプリを自分で作ってみたいけど、コードはあまり書けない」と感じたことはありませんか? そんな方にぴったりのツールが Dify です。 DifyはLLM(大規模言語モデル)を活用したアプリケーションをノーコード〜ローコードで構築できるオープンソースプラットフォームで、個人開発者から企業のDXチームまで幅広く使われています。
とはいえ、「どこからどう始めればいいのか分からない」という声も多く聞きます。 本記事では、Difyのインストールから最初のAIアプリを作成・公開するところまで、ステップバイステップで丁寧に解説します。 プログラミング経験が浅い方でも迷わず進められるよう、コマンドや画面操作を具体的に示しながら説明していきます。
Difyとは何か、なぜ選ばれるのか
Difyは2023年に登場したオープンソースのLLMアプリ開発プラットフォームです。 公式サイト によると、「LLMアプリの開発・運用を劇的に簡単にする」をコンセプトに掲げており、世界中の開発者・非エンジニアに支持されています。
Difyが選ばれる主な理由は以下のとおりです。
- ビジュアルなワークフロー設計: ドラッグ&ドロップでAI処理の流れを組み立てられる
- 多彩なLLMに対応: OpenAI・Anthropic Claude・Google Gemini・Mistralなど主要モデルをすぐに切り替えられる
- RAG(検索拡張生成)が標準搭載: 自分のドキュメントやデータをAIに読み込ませて回答精度を上げる機能が最初から使える
- API公開が簡単: 作成したアプリをすぐにAPIエンドポイントとして外部に公開できる
- セルフホストが可能: クラウド版(dify.ai)に加え、自社サーバーやローカル環境にインストールして使えるため、データをクラウドに送りたくない場面でも活躍する
すでに公開済みの記事「Difyのワークフロー機能で複雑なAI処理を自動化する実践ガイド」や「Dify×GmailをAPIで繋ぐ!メール自動返信AIの構築手順」でも紹介しているように、Difyは様々なユースケースに対応できます。 本記事ではその大前提となる「環境構築と最初の一歩」にフォーカスします。
環境の選択:クラウド版 vs セルフホスト版
Difyを使い始めるにあたって、まず環境を選ぶ必要があります。
クラウド版(dify.ai)を使う場合
- ブラウザから https://dify.ai/ にアクセスしてアカウント登録するだけで使い始められます。
- インストール不要で最速でスタートできる反面、無料プランでは月間のメッセージ数などに制限があります。
- まずDifyがどんなものかを試してみたい場合は、クラウド版が最適です。
セルフホスト版(Docker)を使う場合
- 自分のPCやサーバー上にDifyをインストールして動かす方法です。
- データが外部に出ないため、プライバシーやセキュリティを重視するプロジェクトに向いています。
- 本記事ではより実践的なセルフホスト版のセットアップ手順をメインに解説します。
必要なスペックの目安(公式推奨)
- CPU: 2コア以上
- RAM: 4GB以上(推奨8GB)
- ディスク: 20GB以上の空き容量
- OS: macOS / Linux / Windows(WSL2)
- Docker Engine 20.10以上、Docker Compose v2.x以上が必要
Step 1:Dockerのインストールと確認
Difyのセルフホスト版はDockerコンテナで動作します。 まだDockerをインストールしていない場合は、Docker公式サイト からDocker Desktopをインストールしてください。
インストール後、ターミナルを開いて以下のコマンドでバージョンを確認します。
docker --version
docker compose version
出力例が以下のようになっていれば準備OKです。
Docker version 26.1.0, build a5ee5b1
Docker Compose version v2.27.0
Dockerのバージョンが古い場合は、最新版にアップデートしてから進んでください。
Step 2:DifyのリポジトリをCloneする
次に、DifyのソースコードをGitHubからダウンロードします。 Dify公式GitHubリポジトリ からCloneするのが最も簡単です。
# 任意の作業ディレクトリで実行
git clone https://github.com/langgenius/dify.git
cd dify/docker
Cloneが完了したら、dify/docker ディレクトリに移動します。
ここにDocker Composeの設定ファイルが格納されています。
続いて、環境変数ファイルをサンプルからコピーします。
cp .env.example .env
コピーした .env ファイルを開くと、多数の設定項目が並んでいます。
とりあえず動かすだけであればデフォルト値のままで問題ありませんが、後述するシークレットキーだけは変更することを強く推奨します。
.env ファイルを任意のテキストエディタで開き、以下の項目を探して変更してください。
# .envファイルの該当箇所
SECRET_KEY=your-secret-key-change-this-in-production
your-secret-key-change-this-in-production の部分を、ランダムな文字列に置き換えます。
Linux/macOSであれば以下のコマンドで安全な文字列を生成できます。
openssl rand -base64 42
生成された文字列を SECRET_KEY= の右辺に貼り付けて保存します。
Step 3:Difyを起動する
環境変数の設定ができたら、いよいよDifyを起動します。
dify/docker ディレクトリにいることを確認した上で以下を実行します。
docker compose up -d
-d フラグはバックグラウンド実行を意味します。
初回はDifyの各コンポーネント(APIサーバー、Worker、フロントエンド、PostgreSQL、Redisなど)のDockerイメージをダウンロードするため、回線速度によっては5〜15分程度かかることがあります。
起動が完了したら、以下のコマンドでコンテナの状態を確認しましょう。
docker compose ps
主要なコンテナ(dify-api、dify-worker、dify-web、db、redis など)がすべて Up または running 状態になっていれば成功です。
ブラウザで http://localhost にアクセスしてみてください。
Difyの初期セットアップ画面が表示されるはずです。
ポートが被っている場合: デフォルトではポート80を使用します。 他のアプリケーションと競合する場合は、
.envファイルのEXPOSE_NGINX_PORTを変更するか、docker-compose.yamlのポートマッピングを編集してください。
Step 4:初期セットアップとアカウント作成
ブラウザで http://localhost を開くと、管理者アカウントの設定画面が表示されます。
以下の項目を入力して「Set up」ボタンをクリックします。
- 管理者メールアドレス: ログインに使うメールアドレス
- ユーザー名: 表示名(任意)
- パスワード: 8文字以上の安全なパスワード
設定が完了するとダッシュボードにリダイレクトされます。 これでDifyのセルフホスト環境が使える状態になりました。
Step 5:LLMプロバイダーを設定する
DifyでAIアプリを作るには、使用するLLM(言語モデル)のAPIキーを登録する必要があります。 右上のユーザーアイコン →「Settings」→「Model Provider」と進みます。
ここでは例としてOpenAIを設定します。 OpenAIのAPIキー管理ページ でAPIキーを発行しておいてください。
「Model Provider」画面でOpenAIのカードを見つけて「Setup」をクリックし、APIキーを入力して「Save」します。
他にも設定できる主なプロバイダーを紹介します。
- Anthropic Claude: コンソール でAPIキーを発行。Claude 3シリーズが利用可能
- Google Gemini: Google AI StudioでAPIキーを発行
- Ollama(ローカルLLM): 同一ネットワーク上でOllamaを動かしていれば、ホスト名とポートを指定して連携可能。APIキー不要でローカルモデルを使える
- Azure OpenAI: エンドポイントとデプロイメント名を設定
APIキーの登録が完了したら、「モデル一覧に戻る」からどのモデルが使えるか確認してみましょう。
Step 6:最初のAIチャットアプリを作成する
いよいよAIアプリを作成します。 ダッシュボードの「Studio」メニューから「Create from Blank(空白から作成)」を選択します。
アプリの種類を選ぶ
Difyではアプリの種類として以下が選択できます。
- Chatbot: 会話形式でユーザーと対話するアプリ(最も基本的な形式)
- Text Generator: テキストを一度生成して返すシンプルなアプリ
- Agent: ツール呼び出しや複数ステップの処理を自律的に行うAIエージェント
- Workflow: 複数の処理ブロックを組み合わせる高度な自動化(別記事で詳しく解説済み)
今回は「Chatbot」を選択して「Create」をクリックします。 アプリ名は「私の最初のAIアシスタント」など、わかりやすい名前をつけましょう。
プロンプトを設定する
アプリ編集画面(Orchestrate)が開きます。 画面左の「Instructions」エリアがシステムプロンプトを入力する場所です。 ここに記述した指示がAIの振る舞いの基本となります。
試しに以下のようなプロンプトを入力してみましょう。
あなたは親切で丁寧な日本語のアシスタントです。
ユーザーの質問に対して、正確でわかりやすい回答を日本語で提供してください。
回答は簡潔にまとめ、必要に応じて箇条書きや例を使って説明してください。
モデルを選択する
画面右上の「Model」セクションで、先ほど設定したLLMプロバイダーのモデルを選択します。
例えばOpenAIなら gpt-4o-mini(コスト効率が良い)や gpt-4o(高精度)などを選べます。
パラメータも調整できます。
- Temperature: 0に近いほど安定した回答、1に近いほど創造的な回答になります。日常的な質問応答なら0.5〜0.7程度が使いやすいです
- Max Tokens: 一度の回答の最大文字数(トークン数)を制限します
プレビューで動作確認する
右側の「Preview」パネルでリアルタイムに動作確認できます。 テキストボックスに「こんにちは!自己紹介してください」と入力して送信してみましょう。 設定したシステムプロンプトに従ってAIが返答してくれるはずです。
応答の内容を見ながらプロンプトを修正し、好みの動作になるまで調整します。 このサイクルを繰り返すことが、DifyでAIアプリを育てていく基本的なプロセスです。
Step 7:AIアプリを公開する
動作確認ができたら、アプリを公開しましょう。
Webアプリとして公開する
画面右上の「Publish」ボタンをクリックします。 「Update」を選択してパブリッシュが完了すると、「Run App」ボタンが現れます。 クリックすると、独立したチャット画面のURLが発行されます。
セルフホスト環境の場合、URLは http://localhost/chat/xxxxxxxx のような形式になります。
このURLを共有することで、同一ネットワーク内の他のメンバーもアプリを使えるようになります。
APIとして公開する
「API Access」タブに切り替えると、APIエンドポイントとAPIキーが表示されます。 これを使うことで、外部のアプリケーションやスクリプトからDifyのAIアプリを呼び出せます。
簡単なcurlコマンドでの呼び出し例を確認してみましょう。
curl -X POST 'http://localhost/v1/chat-messages' \
-H 'Authorization: Bearer {あなたのAPIキー}' \
-H 'Content-Type: application/json' \
-d '{
"inputs": {},
"query": "日本の首都はどこですか?",
"response_mode": "blocking",
"conversation_id": "",
"user": "user-001"
}'
{あなたのAPIキー} の部分を「API Access」画面で発行したキーに置き換えて実行すると、JSONレスポンスとしてAIの回答が返ってきます。
この仕組みを使えば、n8nやGmailなどの外部サービスとの連携も自由自在です。
Step 8:よく使う初期設定の確認ポイント
Difyを使い続けるにあたって、最初に確認・設定しておくと便利な項目をまとめます。
ナレッジ(Knowledge)の追加
「Knowledge」メニューからドキュメントやWebページのURLを登録すると、RAGとしてAIに知識を与えられます。 社内マニュアルやFAQドキュメントをアップロードするだけで、それをもとに回答するAIアプリが作れます。 サポートされているファイル形式は PDF・TXT・Markdown・HTML・XLSX など多岐にわたります。
会話ログの確認
「Logs & Ann.」メニューから過去の会話履歴を確認できます。 どんな質問が多いか、AIの回答の質はどうかを分析して、プロンプトや設定を改善するのに役立ちます。 また、不適切な回答に対して「アノテーション(正解例)」を追加することで、AIの精度を向上させる機能も搭載されています。
メンバー招待
「Settings」→「Members」から、チームメンバーをDifyワークスペースに招待できます。 役割は「Admin」「Normal」「Editor」から選べます。 複数人でアプリを開発・管理する場合に活用してください。
トラブルシューティング:よくあるエラーと対処法
コンテナが起動しない
docker compose up -d 実行後にコンテナが Exit 状態になる場合は、以下でログを確認します。
docker compose logs dify-api
よくある原因として、.env ファイルの設定ミス、ポートの競合、メモリ不足が挙げられます。
Dockerに割り当てるメモリが少ない場合は、Docker Desktopの「Settings」→「Resources」からメモリ上限を増やしてみてください。
LLMからエラーが返ってくる
「Model Provider」の設定でAPIキーが正しく保存されているか確認してください。 APIキーの使用量制限(クォータ)に達している場合も同様のエラーになります。 OpenAIの場合は Usage Dashboard で残高を確認しましょう。
アップデートしたい場合
Difyはアクティブに開発が進んでおり、新機能が頻繁に追加されています。 最新版にアップデートするには以下を実行します。
cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d
git pull でソースコードを更新し、docker compose pull で最新のイメージを取得してから再起動します。
まとめ:まず動かすことが最初の一歩
ここまでの手順を振り返ります。
- Dockerのインストールと確認
- DifyリポジトリのCloneと環境変数設定
docker compose up -dでの起動- 初期セットアップとアカウント作成
- LLMプロバイダー(OpenAI等)のAPIキー登録
- Chatbotアプリの作成とプロンプト設定
- プレビューで動作確認して公開
Difyの最大の強みは「まずすぐに動くものができる」点です。 コードをほとんど書かなくても、AIを活用したアプリが作れてしまいます。
一度基本的なChatbotが動いたら、ぜひ次のステップに挑戦してみましょう。
- ナレッジ(RAG)を追加する: 自社ドキュメントをアップロードして、それをもとに回答するFAQボットを作る
- Agentアプリに挑戦: ウェブ検索ツールや計算機ツールを組み合わせて、より賢いエージェントを構築する
- APIで外部サービスと連携: 発行したAPIエンドポイントをSlackやn8nと接続して業務自動化に活用する
- ワークフロー機能を使う: 複数のAI処理ブロックを組み合わせた高度なパイプラインを設計する
Difyは使えば使うほど「もっとこんなことができないか」とアイデアが広がるツールです。 まずは今日、ローカル環境でDifyを起動して、自分だけのAIアシスタントを作ってみてください。