Introduction

HP ZGX Nano G1n AI Station を購入したので流行りの Local LLM 環境を構築。

How to setup?

1. ollama のインストール

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ curl -fsSL https://ollama.com/install.sh | sh
>>> Installing ollama to /usr/local
[sudo] password for t-takeuchi:
>>> Downloading ollama-linux-arm64.tar.zst
######################################################################## 100.0%
>>> Creating ollama user...
>>> Adding ollama user to render group...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> NVIDIA GPU installed.

$ ollama --version
ollama version is 0.20.7

次に、ollama が後述の Open WebUI の コンテナ内からアクセスできるよう、待ち受けのアドレスを変更する。

/etc/systemd/system/ollama.service を開き、[Service] セクションの最終行に下記を追加。

1
+ Environment="OLLAMA_HOST=0.0.0.0"

編集終わったらデーモンを再起動。

1
2
$ sudo systemctl daemon-reload
$ sudo systemctl restart ollama

2. Open WebUI のインストール

すでに ollama がインストールできているので、Open WebUI のみインストール。
--restart always でシステム起動時に自動実行されるようになる。
--add-host=host.docker.internal:host-gateway でコンテナからホストマシンにアクセスできるようになる。

1
2
3
4
5
6
$ sudo docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main

ブラウザで http://<インストール先のip>:3000 にアクセス

Open WebUI

はじめる を選択

Open WebUI

ログイン情報を入力

Open WebUI

OK、始めましょう! を選択

Open WebUI

Open AI の WebUI と似ている見慣れた画面

3. Open WebUI と ollama を連携

Open WebUI

続いて 右上 のアイコンから 管理者パネル を選択

Open WebUI

設定 を選択

Open WebUI

接続 を選択

Open WebUI

Open APIOFF に変更し、 Ollama API接続の管理 でアドレスが http://host.docker.internal:11434 になっていることを確認。
その右にあるダウンロードアイコンをクリック。
ここでシステム上の Ollama との接続できていないとエラーになるので、その場合は Firewall や docker との接続を確認。
少なくとも netstat -lnpt | grep 11434LISTEN が存在しないなら、Ollama は起動していないし、存在していてもアドレスが 127.0.0.1 なら、先述の OLLAMA_HOST の設定が正しく反映されていない。

Open WebUI

Ollama.com からモデルをプル で好きなモデルを入力し、右側のダウンロードアイコンを押下。
自分は gemma4:26b を指定した。
直後、進捗ダイアログが表示されるので気長に待つ。

完了したらいつものチャット画面に戻り、左上に先ほど指定したモデルが表示されているのを確認する。

Open WebUI

Open WebUI

試しに日本語で挨拶し、正しく動作していることを確認。
(一番最初の会話はモデルの初期化や初回推論の影響で遅いため注意)

5. ウェブ検索の有効化

Open WebUI では Open AI のように、モデルが保持していない知識に関して、ウェブから情報を拾ってくるようにする機能のが備わっているので、それらを有効にする。
管理者パネル から ウェブ検索 を選択。

Open WebUI

今回は ollama_cloud を使うので、ollama.com にサインアップし、API キーを取得する。

Open WebUI

コピーしたキーを Ollama Cloud API Key に張り付けて 保存 を押下。

以上で設定は完了。
実際に Web 検索を使うには、質問する際に Web 検索を有効にする必要がある。

Open WebUI

そして質問を実行すると、検索にしたソースも提示した回答を生成してくれる。

Open WebUI