Ollama + Open WebUI でローカルLLMを手軽に楽しむ
ローカルLLMを手軽に楽しむ
ローカルLLMを手軽に動かせる方法を知ったので紹介します。今まではLLMやPC環境(GPUの有無)に合わせてDocker環境を構築して動かしていました。
それが、OllamaとOpen WebUIというソフトを組み合わせることで、ChatGPTのように手軽にローカルでLLMを動かすことができます。参考にしたサイトなどは本記事の末尾で紹介します。特にもりしーさんの動画はきっかけになりました(感謝です)。
動かす方法として以下2つを紹介します。
- Ollama単体で動かす方法(初心者向け)
- Ollama + Open WebUIでGUI付きで動かす方法(Dockerが分かる人向け)
初心者でとりあえずLLMを動かすのにチャレンジしたいという人は、1つ目のOllama単体で動かす方法にトライするのがおすすめです。
Dockerとか普段から使っているという人は、1をとばして2からはじめてもOKです。
OSはMac/Windows/LinuxどれでもOKです。特にApple SiliconのMacだとGPUメモリとか気にしなくてよいので楽です。
Ollama単体で動かす方法
以下のサイトに行ってアプリを落として、サイトの説明どおりに実行すればOKです。
簡単ですね。Macだと、ほんと指示通りにコマンド実行するだけです。
Linuxだと以下コマンドでセットアップできました。
$ curl -fsSL https://ollama.com/install.sh | sh
Windowsでは試せていません(すみません)。
ドキュメントはGitHubを参照しましょう。
Ollama + Open WebUIでGUI付きで動かす方法
OllamaもOpen WebUIもDockerで動かすのが手軽でよいので、単体でOllamaが入っていたら一旦アンインストールしてください。Linuxでのアンインストール方法はこちらです。
続いてDockerをセットアップします。Dockerのセットアップや基本的な使い方は以下の記事を参考にしてください。
後は、以下コマンドでDockerでOllamaとOpen WebUIをダウンロードして起動します。
Ollama Docker run
$ docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
NVIDIAのGPUを使う場合は、以下の通り--gpus=all
オプションを追加してください。
$ docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
Open WebUI Docker run
$ 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://localhost:3000/
最初、以下のような画面が表示されるので、適当なユーザー名とメールアドレスを入力しましょう。これはあくまでローカルでの登録処理でサーバには送信されません。
以下登録後のログイン画面です。某ChatAIアプリにだいぶ似ていますね。
OllamaでダウンロードしたモデルをOpen WebUIから選択できるようになりますので、選択してローカルLLMを楽しみましょう。
別のPCからログインする場合はlocalhost
をIPアドレスにおきかえてアクセスすればOKです。
以下動作例です。Linux OSでNVIDIA RTX3060で動かしています。35B(パラメータ数350億)のCommand Rなので遅めですが、ちゃんとローカルで動いています。
OllamaのDockerでの操作
Dockerあんまり知らない人向けに、DockerでのOllama操作の方法です。
以下のようにdocker exec -it
をつけて、Ollamaのコマンドを実行すると、Ollamaを起動して、ターミナルでチャットができます。
$ docker exec -it ollama ollama run llama2
単にモデルをダウンロードしたい場合は、以下のようにollama pull
しましょう。
$ docker exec ollama ollama pull phi3
$ docker exec ollama ollama pull mistral
$ docker exec ollama ollama pull gemma:2b
$ docker exec ollama ollama pull gemma:7b
$ docker exec ollama ollama pull command-r
ダウンロード可能なモデルは以下にならんでいます。
Raspberry Pi(ラズパイ)で動かす
ラズパイでも動くらしいです。まだ試してないのでそのうちに。
動きました。以下記事参照ください。
まとめ
ローカルでLLMを手軽に動かす方法を紹介しました。ローカルでAIといえばNVIDIA一択だったのですが、動かすだけならMacの方が手軽に大きなパラメータのモデルを動かせるといった逆転現象がいつの間にかおきてて面白いですね。
色々なLLMがどんどん出てきて楽しいですね。
参考リンク
関連記事
変更履歴
- 2024/05/01 ラズパイでの動かし方のリンクを追記
Discussion
ちょっとした Tips ですが、Open WebUI Docker run の際に、
WEBUI_AUTH
という環境変数を False にしておくことで、最初のユーザー新規登録画面をスキップできるようになりました。知らなかったです!ありがとうございます。