大学でAIの授業をすることになって、デモ環境が必要だとなったんだが、今のChat GPTとかGeminiとかデモで使ってみると予想以上に賢い。ハルシネーションが起きにくい。それに最新情報をWebから自動で持ってくるので、モデルの持っているデータには限りがあるというデモをするのも、調整が必要だったりする。
一方ローカルLLMで小さいモデルを使えば簡単にデモができる。なので、RAGとかも使えるOpen WebUIを使ってデモをした。
Open WebUIは、Ollamaのフロントエンド的な動きをするので、大抵は、Ollamaとセットになる。よって、OllamaのDesktop版をインストールしOpen WebUIをDocker Composeで起動したが。。。
Open WebUIのDesktop版を入れれれば、全部入りで動いてしまう。Open WebUIのDesktop版は昔からあったのだが、最近正式リリース版が出た。いれてみたら結構すごかった。
Open WebUI Desktop版の機能
-
Open WebUI自体のインストール
-
LLMのインストール(Ollamaのインストールは必須ではない。Ollamaがあれば勝手にコンフィグしてくれたが)
-
Terminalのインストール
-
リモートのOpen WebUIの接続機能
事前準備不要、何も考えずにインストールしてすぐに使えてしまう。MACのDocker Desktopで作ってたのは、何だったんだろう。
WindowsもMACも、Open WebUI Desktopをインストールして、初回起動時のセットアップに進めば何事もなく動く。
Get Startedをクリックするとローカルインストール、Connect to existing serverをクリックすると、リモートのサーバに接続できるようになる。あとでリモートを選んでも、後でローカルインストールのセットアップも可能。

ターミナルアプリとLLMを入れるかどうかを選択。OllamaやLMStudioをすでに使っている人は、llama.cppは要らないかもしれない。というか、後に出てくる地雷にハマらない。

おなじみにのセットアップ画面。メールアドレスとパスワードを入れて終了。

さて、モデルがない。

ちなみに、ローカルにOllamaをいれて動かしている人は、http://localhost:11434が設定されているのでそのまま使えるはず。
設定は以下の赤で囲ってあるところをクリックするとサイドバーが表示される。

このサイドバーでリモートサーバの登録もできる。Settingsをクリックする。

Qwen 3.5で検索して、unslash/Qwen3.5-9B-GGUFを選ぶ(利用するマシンのスペックに依存する。スペックが高くない場合は、もう少し小さめのを選ぶ)

Qwen3.5-9b-Q4_K-M.ggufを選ぶとダウンロードボタンが出るので、クリックする。ダウンロードが開始されるのでしばし待つ。

~/Library/Application\ Support/open-webui/models/huggingface/unsloth–Qwen3.5-9B-GGUF Qwen3.5-9B-Q4_K_M.gguf
にモデルがダウンロードされる。
さて、ここからがイケていない。実は、ここにファイルがあってもllamaは見てくれない。
~/Library/Application\ Support/open-webui/models/にフラットにモデルファイルがある必要がある。(2時間格闘。)
% cd Library/Application\ Support/open-webui/models/
% ls huggingface/unsloth–Qwen3.5-0.8B-GGUF
Qwen3.5-0.8B-Q4_K_M.gguf
% ls huggingface/unsloth–Qwen3.5-9B-GGUF
Qwen3.5-9B-Q4_K_M.gguf
% ln -s huggingface/unsloth–Qwen3.5-0.8B-GGUF/Qwen3.5-0.8B-Q4_K_M.gguf
% ln -s huggingface/unsloth–Qwen3.5-9B-GGUF/Qwen3.5-9B-Q4_K_M.gguf
% ls
huggingface Qwen3.5-0.8B-Q4_K_M.gguf Qwen3.5-9B-Q4_K_M.gguf
GithubでIssueをOpenした。さすがDesktopなので、あまり知らない人でも使えるようにしておかないと。
動いた!

これで初期導入は、完了。こんにちはといれると少し経つと結果が返ってくる。
あとは、使えばいい。。。という話になるのだが、そうは問屋は下ろさない。
続きは次回。

