Ollama と Open WebUI を使ってセルフホストの ChatGPT もどきを用意する

Ollama という LLM を動かすためのツールがある。コレを使うと簡単に色々なモデルをインストールできる。

今回は Intel N150 搭載の Ubuntu 機で、CPU モードで軽量な LLM を動かしてみることにする。

まずは Ollama をインストールする。

$ curl -fsSL https://ollama.com/install.sh | sh

インストールはコレだけ。ollama コマンドが叩けるようになる。続いて、日本語で対話できる軽量な LLM を選択してインストール・起動してみる。

$ ollama run 7shi/ezo-common-t2-gemma-2:2b-instruct-q8_0

なんとコレだけ。ターミナルで対話が出来るようになる。回答は一文字ずつストリーム出力されるので、Intel N150 CPU のみのモードで動いていても、そこそこの速度で回答してもらえている気がする。

さて、次はコレをブラウザベースで表示できるようにする、Open WebUI というモノを使ってみる。コチラは Docker でサクッと起動できる。個人で利用するだけなので認証機能は無効にしてある。

$ docker run -d -p 3000:8080 -e WEBUI_AUTH=False -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main

http://localhost:3000 にアクセスすると、ChatGPT とよく似た UI が開き、先程 Ollama で起動した 7shi/ezo-common-t2-gemma-2:2b-instruct-q8_0 モデルを使った対話ができるようになっている。

あとはコレを Cloudflare Tunnel などを使って外部公開してしまえば、自分だけのプライベートな ChatGPT もどきの出来上がりである。

正直 Intel N150 CPU だけでの動作だと、ChatGPT のような高速な回答は期待できないが、一生懸命考えて出力している感があって中々可愛らしい。ローカル LLM ならプライバシーにも配慮できるので、NVIDIA GPU 搭載マシンがあればなお快適に利用できそうだ。