はじめに
お試しでチャットボットを作ってみたい。
でも会社のデータを入れたいからクラウド版プラットフォームを使うのはちょっと…。
そんな時に使えるローカルのDify+Ollamaの環境構築手順を記します。
Difyとは
公式より引用。
AI アプリケーションを構築するためのオープンソースプラットフォームです。自分のデータを活用する Agent、Agentic ワークフロー、チャットボットを作成し、Web アプリとして公開したり API で連携したりできます。
Difyの利用方法はDifyCloudとセルフホストがあります。
- DifyCloud:環境構築の手間がなく無料のサンドボックスがるため簡単に始められる
- セルフホスト:環境構築の手間はあるがデータを外だしせずに開発を行うことができる
Ollamaとは
様々なAIモデルをダウンロードしローカルで利用することができる。クラウド上のサーバーにデプロイして利用することも可能です。
筆者の環境
- Windows 11
- WSL:2.7.10.0
- Ubuntu:24.04 LTS
- Docker Engine:29.6.1
- Docker Compose:5.3.0
Difyのセットアップ
前提条件
Difyの構築にはDockerやDockerCompose、gitが必要なため適宜インストールをしてください(前提条件を参照)。
セットアップ手順
- リポジトリのクローン
コマンド実行時にcurlとjqが必要なためapt-get installなどで事前にインストールしておく。git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git - dockerディレクトリの.env作成
cd ./dify/docker cp .env.example .env # DockerコンテナからWSL上のOllamaに接続するために必要 echo "OLLAMA_BASE_URL=http://172.17.0.1:11434" >> .env - Dockerコンテナ起動
コマンド実行時にイメージをダウンロードするため、必要に応じてsudoつけて実行する。docker compose up -d - 起動確認
コンテナの一覧が表示されるのでSTATUS確認。docker compose ps
Ollamaのセットアップ
- インストール
今回はWSL上にOllamをインストール。(公式サイト)# zstdが必要なためなければインストール sudo apt-get install zstd curl -fsSL https://ollama.com/install.sh | sh - AIモデルのダウンロード
使用可能なモデルは公式サイトで検索できる。ollama pull <モデル名> - Dify→Ollamaへのアクセスを可能にするため設定変更
DockerコンテナからWSLへのアクセスは外部からのアクセスとされるためOllama側で通信の許可設定が必要。sudo mkdir -p /etc/systemd/system/ollama.service.d sudo tee /etc/systemd/system/ollama.service.d/override.conf << 'EOF' [Service] Environment="OLLAMA_HOST=0.0.0.0" EOF sudo systemctl daemon-reload && sudo systemctl restart ollama
Difyの管理画面操作
管理者アカウントを作成
モデルプロバイダーの設定
- モデルプロバイダーを選択
左のサイドメニューの連携を押下しモデルプロバイダーでOllamaを検索
- プラグイン:Ollamaのインストール
検索で表示されたOllamaにカーソルを合わせるとインストールボタンが出てくのでボタン押下しインストールを実行。 - モデルの追加
インストール完了すると画像のような表示になるためモデル追加を押下。
- モデルの設定を記入
必須事項を入力して追加ボタンを押下。 - モデルの確認
設定したモデルが追加されていることを確認。
動作確認
スタジオ>チャットボット>最初から作成でチャットフローを作成。
LLMにOllamaの任意のLLMを選択しプレビューでチャットのお試し実行ができます。

おまけ
今回はWSL上にDifyとOllamaをインストールしました。
もしOllamaをWindowsホスト上に入れる場合は、DockerDesktopのインストールをしhost.docker.internalを使用するとDify→Ollamaの接続が楽です。


