先日GPUパススルーしたProxmoxのVMにOllamaをインストールし、Webに公開するところまで行った。 やったことを思い出しながらここに書いていく。
この記事で言及すること#
前提#
VMのOSはDebianのBookworm
やり方#
1. Dockerを入れる#
aptでDockerを入れる方法はDockerの公式サイトに載っているが一応紹介。
先にコマンド全体を公式から引っ張っておくとこんな感じ。
以下説明
ca-certificates
とcurl
が入っていない場合は以下で追加。
次に/etc/apt/keyrings
ディレクトリを作ってgpgキーを引っ張ってくる。どうやら最近は/etc/apt/keyrings
にkeyringを置くのが最適解っぽい。
参考: apt-key の非推奨化と keyring の扱い方
リポジトリの追加。以下でよしなにやってくれる。
最後にdockerのもろもろのインストール。
ここまでやればdockerコマンドが使えるようになっているはず。
2. NVIDIA Container Toolkitを入れて設定する#
NVIDIA Container Toolkitを入れるとDockerコンテナでホストのGPUが使えるのでいれる。今回はapt経由でいれることにする。これも公式に詳細な手順が書いてあるが、ここでも一応紹介。
下記のコマンドでインストールのためのリポジトリをセットアップする。
インストール。
下記のコマンドで入っているコマンドを確認できる。
入っていることが確認できたら以下を実行。dockerからNVIDIA Container Runtimeが使えるようになる。
最後にdockerを再起動しておく。
これでNVIDIA Container Toolkitのセットアップは終わり。
3. OllamaとOpenWebUIを使ってみる#
以下のコマンドでOllamaのDockerイメージを実行できる。
Ollamaが実行されているかどうかを確認するためにapiサーバーにリクエストを投げるには以下の通り。
正常に実行されていれば以下のようなレスポンスが返ってくる。
この時点ではモデルなどは入っておらず、LLMを試すことはできない。
UI経由でモデルをインストールしたりLLMを試したりするために、次はdocker compose
を使ってOpenWebUIといっしょに立ち上げてみる。
適当なディレクトリに以下のコードをcompose.yaml
として保存する。
保存したらそのディレクトリで以下を実行すると0.0.0.0:8080
でOpenWebUIが立ち上がるはず。
ここでログに以下の出力が出たらVMの設定を見直す必要がある。
Type
の欄をHost
にすることでこの問題は解消されるはず。(↓参考画像)
ここまででセットアップは終わり。あとはWebブラウザでVMのIPにアクセスしたらOpenWebUIが見られるはず。