WSLを使って動作。おそらく、ubuntuなどのLinux全般同じようにできる・・・と思う。
ollamaのdockerでの動かし方:
GPUを利用するならば、GPU周りの設定を実施した後に、以下で起動。
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
今回使ったのは以下のモデル。小さなモデルでどの程度動作するのか確認したかった。
docker exec -it ollama ollama run hawkclaws/japanese-stablelm-2-instruct-1_6b
次に、Difyを動かす。
Ollamaと同じマシンで動かしているため、OllamaのBASE URLをDifyに設定しやすいように、Difyのdocker-compose.yamlにhost側を見る様に設定する。
docker-compose.yamlのservices:api:以下にextra_hostsを加える。
extra_hosts:
- host.docker.internal:host-gateway
Docker詳しくないけど、これで動いたので、たぶん大丈夫。もちろん、ホストのIPを調べておいて記入しても大丈夫だと思います。これが正しいやり方なのかわかりませんが、他にはdocker compose.yaml中にollama部分も入れ混んじゃうという手もあるのかもしれません。そのあたりは本職さんじゃないので動けばOK。
最終的にDify上のモデル設定ではollamaを選んだ後に・・・

Model Name:hawkclaws/japanese-stablelm-2-instruct-1_6b
Base URL:http://host.docker.internal:11434
で、動作しました。
japanese-stablelm-2-instruct-1_6bでも、そこそこ動くのも確認できました。もちろん、gpt-4には及びませんが、タスクによっては使えそうです。