🐳

Difyをローカルで動かしてみる。3分でコピペで可能。

2024/08/01に公開

概要

LLMを使ったワークフローを作成するのに、
Difyが良さそうなのでローカルで立ち上げて使ってみます。

docker-compose.ymlが用意されているので基本的には以下のページを参考にすればすんなり動きます。
https://docs.dify.ai/getting-started/install-self-hosted/docker-compose

Difyをローカルで動かす利点

主に以下の点があります。

  • アカウント登録不要で、無料でSaaS版と同じ機能が使える。
  • SaaS版より動作が速い。
  • テストで重要なデータを登録してみたりすると思いますが、ローカルでしか扱わないので自社のセキュリティポリシー内で運用し易い。

手順

前提として、git コマンドがインストールされていて、Dockerdocker compose が利用できる状態が必要です。

DifyのレポジトリをCloneします。

git clone https://github.com/langgenius/dify.git

設定テンプレをコピーします。

cd dify/docker
cp .env.example .env

EXPOSE_NGINX_PORT=8080

EXPOSE_NGINX_PORT=80
へ変更します。

サービスを起動します。

docker compose up

ブラウザで開きます。

open 'http://localhost:8080/'

起動直後のCPU使用率、メモリ使用量はこのぐらいです。

Difyの動作が不安定だったり、非同期で色々裏で動いているのがlogやリソースモニタを表示しているとわかりやすいです。

例えば、500MBのファイルをナレッジとして登録したときにブラウザ上では応答がなくなっちゃったりしますが裏ではgunicornとceleryプロセスがCPUのコアを食い尽くしたりしているのがわかったりします。


imageは3GB分ぐらい使ってます。

UI上でセットアップ

アカウントを作成していきます。

管理者カウントを作成します。言語設定を日本語にします。

こんな感じで初期設定を終えられます。

まとめ

  • SaaS版だと動作が不安定な時にトラブルシュートがし辛いですがローカルだと裏のプロセスがどの用に動いているかわかりやすいです。
  • ローカルだと無料で動かせます。手軽にLLMアプリケーションをCloudflareなどを使ってトンネルしちゃえば作ってすぐに公開できます。
株式会社マインディア テックブログ

Discussion