以下の内容はhttps://touch-sp.hatenablog.com/entry/2024/05/12/110240より取得しました。


【Dify】【Ollama】【WSL2】Difyをローカル環境で実行するまでの全手順

はじめに

まっさらのUbuntu 22.04 on WSL2に「Dify」を動かす環境を構築するまでの全手順です。

大規模言語モデルは無料のLlama3 8BをOllamaで動かして使います。

最初の確認

「/etc/wsl.conf」に以下が記入されていなかったら書き込んでおく必要があります。

[boot]
systemd=true

書き込み方は

sudo nano /etc/wsl.conf

Docker EngineとDocker Composeのインストール

こちらに従いました。

インストール後に以下を実行しました。(ユーザー名は各自変更が必要です)
1. dockerグループを作成します(すでに存在する可能性あり)

sudo groupadd docker

2. 現在のユーザーをdockerグループに追加

sudo usermod -aG docker $USER

3. グループの変更を適用するため、一度ログアウトして再度ログインするか、以下のコマンドで変更を適用

newgrp docker

4. 設定が正しく行われたか確認する

docker run hello-world

Nvidia container toolkitのインストール

こちらに従いました。

いったんここまででWSL2を再起動しました。(必要かどうかはわかりません)

Ollama のインストール

こちらに従いました。

docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

コンテナーに入る

docker exec -it ollama bash

Llama3 8Bのダウンロード

ollama run llama3

Ollamaを終了させる

起動したOllamaは「/bye」と入力すると終了できます。

コンテナーを抜ける

exit

Difyのインストール

git clone https://github.com/langgenius/dify
cd dify/docker
cp .env.example .env
docker compose up -d

ブラウザを開く

Windowsのブラウザからhttp://localhost/installにアクセスすると使えるようになっています。

プロバイダーの登録

Model Nama「llama3」、Base URL「http://172.17.0.1:11434」でLlama3の登録ができました。

IP Addressは以下のコマンドで調べることができます。

ip addr show | grep docker



(注)OllamaをDockerを使わずにインストールした場合や他のWSL2ディストリビューションで実行する場合には「/etc/systemd/system/ollama.service」内の[Service]に「Environment="OLLAMA_HOST=0.0.0.0"」を追記する必要があります。
こちらを見てください。

終了の仕方

docker compose down
docker stop ollama

2回目以降

毎回difyリポジトリ内のdockerフォルダに入る必要があります。

cd dify/docker
docker compose up -d
docker start ollama

この後にhttp://localhost/installにアクセスするだけです。

補足1(シェルスクリプト)

以下を記入した「〇〇.sh」というファイルを作っておけば実行が簡単です。
1行目のアドレスは各自変更が必要です。

cd ~/dify/docker
docker compose up -d
docker start ollama
echo "access http://localhost/install"

実行は以下のようにします。

source 〇〇.sh

「source」は「.」で置き換え可能です。

. 〇〇.sh

ターミナルに出力されたアドレスのところでCtrlを押しながらマウスを左クリックすると勝手にブラウザが立ち上がります。

強引に「~/.bashrc」に上記内容を記入しておくとWSL2起動時に実行されます。(これが正しい方法かはわかりませんが)

sudo nano ~/.bashrc

補足2(他のモデル)

こちらの記事と同様な方法を使うとOllamaにデフォルトで用意されているモデル以外でも使用可能です。
touch-sp.hatenablog.com






以上の内容はhttps://touch-sp.hatenablog.com/entry/2024/05/12/110240より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14