表題の件、やってみた。
条件
以下の通り
- すでにOllamaはdockerで起動済み(下記記事参照)
- Open WebUIもOllama同様にdockerで動かす
準備
Ollamaを起動している前提で話を進める。
Open WebUIを参考に、自分の環境に合わせて少しオプションをいじったうえで、ホストのターミナルで以下を実行。
docker run -d -p 44445:8080 -e WEBUI_AUTH=False -e OLLAMA_BASE_URL=http://host.docker.internal:44444 -v open-webui:/app/backend/data --name open-webui --add-host=host.docker.internal:host-gateway ghcr.io/open-webui/open-webui:main
自分で追加したもの
--add-host=host.docker.internal:host-gateway
: ホストのポートにアクセスするために、追加したもの。今回はすでに立てたollamaのコンテナにアクセスするために、ホストの44444ポートにアクセスするためにこれが必要。-e WEBUI_AUTH=False
: 今回は自分しか使わないので、ログイン機能はオフにした。-e OLLAMA_BASE_URL=http://host.docker.internal:44444
: ollamaはホストの44444ポートにアクセスできるように、事前にコンテナを起動したので、そのように設定する。
上記オプションは、公式ページ以外に、以下のページを参考にした。
Open WebUIにアクセス
コマンドを実行したら、ホストのブラウザで、以下をURLに入力する。
http://localhost:44445
※ホストの44445ポートで公開するように、コンテナを実行したので、44445ポートにアクセスする。
そうすると、初回はいくつかポップアップが出るらしく、それを良しなにOKしたりすれば、以下のような画面に到達する。
モデルを選択する
画面左端の赤丸のところをクリックすると、チャットに使用するモデルが選択できる。
自分の環境では、deepseekの7B、8B、14B、cyberagentが日本語で学習させたdeepseek14Bモデルがそれぞれ並んでいることがわかる。
今回は、初期選択されていたcyberagentのモデルをそのまま使うこととする。
チャットしてみる
適当な文章をポジネガ判定してもらった。結果は期待したもの(ポジティブ)と一致した。
日本の全都道府県をjsonで返して。 ただし、回答にはkeyを番号、valueを都道府県名とするjsonのみ含めて、それ以外の文字は含めないでください。
結果↓
{ "1": "北海道", "2": "青森県", "3": "岩手県", "4": "宮城県", "5": "秋田県", "6": "山形県", "7": "福島県", "8": "茨城県", "9": "栃木県", "10": "群馬県", "11": "埼玉県", "12": "千葉県", "13": "東京都", "14": "神奈川県", "15": "新潟県", "16": "富山県", "17": "石川県", "18": "福井県", "19": "岐阜県", "20": "静岡県", "21": "愛知県", "22": "滋賀県", "23": "京都府", "24": "大阪府", "25": "兵庫県", "26": "奈良県", "27": "和歌山県", "28": "鳥取県", "29": "島根県", "30": "岡山県", "31": "広島県", "32": "山口県", "33": "徳島県", "34": "香川県", "35": "高知県", "36": "福岡県", "37": "佐賀県", "38": "長崎県", "39": "熊本県", "40": "大分県", "41": "宮崎県", "42": "鹿児島県", "43": "沖縄県", "44": "青森県", "45": "岩手県", "46": "山形県", "47": "福島県" }
パット見た感じ、福島県、山形県、岩手県がかぶっているな、、、うーん、モデルを変えたらちゃんと返してくれるのかな。 とはいえ、回答にはjsonのみ含めてねという指示をしたら、その指示は理解してくれてちゃんと返してくれたのは評価できる。