今回の読者は以下の方々です。
Difyを触りたい。ただ、SaaSを触るときは色々とコンプラ的な手続きが必要。ローカルで動くらしいが、自己署名証明書とProxyがあるのでうまくいくか不安。
ではやってみましょう。
WSLを起動 コマンドの参考はこちら
wsl --list --online
wsl --update --web-download
wsl --version
wsl -l -v
# Run distribution
wsl -d Ubuntu
Dify向けディレクトリ作成、モジュールのclone
mkdir /mnt/d/app/dify202411
cd /mnt/d/app/dify202411
git config --global http.sslCAInfo "C:\証明書ファイル.crt"
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
Docker及びDify起動
# dockerデーモンが起動していない場合は以下
sudo service docker start
# docker
sudo docker compose up -d
sudo docker ps
#postgresqlが起動していないので一度停止
sudo docker compose down
docker-compose.yamlの修正 ここを参考に修正
(すでに一度実施済みの場合はdb_dataの定義名は変更すること)
Difyもう一度起動
# docker
sudo docker compose up -d
sudo docker ps
起動していることを確認
/mnt/d/app/dify202411/dify/docker$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a963014c0d09 nginx:latest "sh -c 'cp /docker-e…" 10 seconds ago Up 7 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp docker-nginx-1
5c6cde1322ab langgenius/dify-api:0.11.2 "/bin/bash /entrypoi…" 10 seconds ago Up 7 seconds 5001/tcp docker-worker-1
3546e35a2c25 langgenius/dify-api:0.11.2 "/bin/bash /entrypoi…" 10 seconds ago Up 7 seconds 5001/tcp docker-api-1
2f13da6aeaaa redis:6-alpine "docker-entrypoint.s…" 10 seconds ago Up 9 seconds (health: starting) 6379/tcp docker-redis-1
098aa2133c39 langgenius/dify-web:0.11.2 "/bin/sh ./entrypoin…" 10 seconds ago Up 9 seconds 3000/tcp docker-web-1
b1f4cd95c429 postgres:15-alpine "docker-entrypoint.s…" 10 seconds ago Up 8 seconds (healthy) 5432/tcp docker-db-1
349ff27b3988 semitechnologies/weaviate:1.19.0 "/bin/weaviate --hos…" 10 seconds ago Up 8 seconds docker-weaviate-1
ed2efdebe7ef ubuntu/squid:latest "sh -c 'cp /docker-e…" 10 seconds ago Up 8 seconds 3128/tcp docker-ssrf_proxy-1
faed2ace7ef9 langgenius/dify-sandbox:0.2.10 "/main" 10 seconds ago Up 9 seconds (health: starting) docker-sandbox-1
以下にアクセスし、管理者登録を行う
http://localhost/install
オンプレDifyでオンプレモデルを動作させるため、LM Stuidoへのモデルのダウンロード
LM Studioのインストール自体ははまらないと思うので省略する。
LM StudioはProxy対応をしていないので自分でモデルをダウンロードする
Hugging Face CLIのインストール
pip install -U "huggingface_hub[cli]"
モデルのダウンロード
Llamaなどはログインが必要。Hugging FaceのSettingsからTokenを発行し、ログインを行う。それ以外は不要。
huggingface-cli login --token $HF_TOKEN --add-to-git-credential
huggingface-cli download モデル名
あとは、LM StudioでAPIサーバを起動すれば、同一端末のDifyからアクセスでき、完全なローカル環境のチャットシステムが完成する。
以上