見出し画像

【非プログラマー初心者でもできる】Difyのおすすめローカル導入方法 -- うまくいかない場合も紹介

  • 2024.5.13 初稿

  • 2024.6.29 v 0.6.12から環境変数が別ファイルに移ったのを機に追記

プログラマーではない私が、なんとかDifyを使って遊びたい、と思ったために試行錯誤。。
現在、Difyを運用するにあたり、最適な状況と思われる設定をご紹介します。(Macを使用しています)


必要なもの

  1. Dropbox(複数のPCでDifyを使いたい場合のファイル共有として使用、必須ではない)

  2. Cursor

  3. docker

Dropbox

私はDropboxを使用することで、異なるPC間でもデータの共有をしています。Dify上で作成した、アプリやRAGのための情報を同期できるので、とてもオススメです。
ちなみに、Google driveで試したこともありましたが、同期速度が遅いのか、あまりうまくいかず。Dropboxの方をオススメします。

Cursor

cursorはVS codeのAI搭載上位互換として最近注目されているコードエディタです。
こちらでAIのAPIを設定したら、Curtsorの方で課金はしなくてよいところもいいです。

Difyのファイル・フォルダをCursor上でいじったり、ターミナルを実行するために、Cursorで操作することをオススメします。
下記リンクからインストールしてください。

Docker

Dockerは、アプリケーションとその依存関係を「コンテナ※」と呼ばれる単位にまとめて実行するためのプラットフォームです。これにより、アプリケーションがどの環境でも一貫して動作することが保証されます。

Dockerとは(Perplexityの解説を一部変更)

コンテナは、アプリケーションとその実行に必要なすべてのもの(コード、ライブラリ、設定ファイルなど)を含む軽量で独立した実行環境です。これにより、異なる環境間でのアプリケーションの移動が容易になります

コンテナとは(Perplexityの解説を一部変更)

つまり、Difyを実行しようと思ったときに様々なコードを実行しないといけないが、その全てが関連し合っていて大事。作成者ではない我々にどのような構造なのかが分かりにくい。
その場合に、Dockerを用いると簡単に実行ができるようになる、というもの。
Dockerを使用するとかなり簡単にインストールできるため、下記リンクからインストールをしてください。

Difyをインストールする

下記のリンク先がDify公式(日本語版)の導入方法紹介ページです。

この解説書通りにやっていきましょう

Step1. Github上のDifyのレポジトリをクローンする

ターミナル.appを開いて

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

を実行。
すると、Githubのhttps://github.com/langgenius/dify.gitから自分のPC上にコードがコピーされてきます。(要するにダウンロードしたということ)
上記でダウンロードしてきたフォルダをDropbox内に移動させます。

Step2. DifyファイルをCursor上で操作する

そして、そのフォルダ(Dropbox)を指定してCursor上で開きます。

私の場合はDropbox内の『Front-End develop』というフォルダの下にDifyフォルダを入れている

左列にファイル, フォルダの一覧が見れます。
右上の赤いボタンを押すと、真ん中の下にターミナル画面が出現します。
そこで、

cd dify
cd docker
cp .env.example .env
docker compose up -d

cd; change directoryという意味。要するにそこのディレクトリ(ファイル)の中に移動した、という意味
cp; copy and pasteの意味。.env.exampleは通常のアイコンとしては表示されないので、コマンドラインで操作必要(隠れファイルのため、Cursor上では見ることができるが、通常のファイル操作では見れず、コピー&ペーストができない)

docker compose up -d

これはdifyがdockerを使って構築するときに常に使うコードであるため、覚えてしまいましょう。
一回目はさらに、必要なファイルがダウンロードされるため、しばらく時間がかかります。

Step3. Difyを立ち上げる

このようにすべてが表示されていることを確認してください

また、Docker Appの方で下記のようにすべてが緑色で起動していることを確認してください。エラーのときはオレンジ色をしています。


うまくいかない場合

経験上、理由は3つです。

  1.  Docker Appが立ち上がっていない

  2.  なぜかコードが全てクローンされていない

  3.  Dropboxの共有が止まっている

Docker Appが立ち上がっていない

Appを起動しなおしてから

docker compose up -d

 を再度実行してください。

なぜかコードがすべてクローンされていない

その場合は

(cd dify/docker)  ## dockerのdirectoryにいることを確認して
docker compose pull

を実行してください。これでdockerで動かすのに必要な全てのコードが再度ダウンロードされます。
そしてまた

docker compose up -d

を実行してください。

Dropboxの共有が止まっている

フォルダでみた場合に雲マークが残っていたらうまくいきません。自動同期に任せずに、雲マークを押して、ダウンロードを完了させてください。

Difyを使う

上記をすべて実行して、Docker Appのがすべて緑色になっていることを確認してください。
その後、ブラウザ(私はChromeを使用)でhttp://localhost/installをURLバーに入力して実行するとブラウザ内でDifyが立ち上がります。
一回目だと

このような画面で止まってしまうかもしれませんが、少し時間を置いて再度同じ様にアクセスしたらDifyが使えます。
最初は、email登録やpassword登録画面がでますが、適当に入力していただいて大丈夫です。(Dify.aiのクラウドサービスを使うためようのものだと思われます。ローカル環境では全く関係ないです。)

このような画面が出てきたら成功です

環境変数を変えてみる

Cursorを用いて、Difyの環境変数の管理ファイルを変えてみましょう。
ターミナル上ではなかなか初心者ではコードを変えるのが難しいですが、Cursor上であれば、普通のテキストのように変えられるため、とても便利です。

例1,DifyとNotionを連携する

例2, Difyにuploadするファイルの容量を変更する

注意点

Dropboxでの共有を使うためには、PCでDifyを立ち上げ続けてはいけません。データが保存されていないからなのか、なんなのか、同時に2つのPCでdeployできません。使わなくなったら

docker compose down

でシャットダウンしておきましょう

まとめ

最後までお読みいただきありがとうございます。
非プログラマーの超初心者がDifyの設定、初心者向けのおすすめの状況を説明しました。
疑問点などありましたら、コメントお願い致します。

この記事が気に入ったらサポートをしてみませんか?