🦙

Ollama + Open WebUI でローカルLLMを手軽に楽しむ

2024/04/30に公開
2

ローカルLLMを手軽に楽しむ

ローカルLLMを手軽に動かせる方法を知ったので紹介します。今まではLLMやPC環境(GPUの有無)に合わせてDocker環境を構築して動かしていました

それが、OllamaOpen WebUIというソフトを組み合わせることで、ChatGPTのように手軽にローカルでLLMを動かすことができます。参考にしたサイトなどは本記事の末尾で紹介します。特にもりしーさんの動画はきっかけになりました(感謝です)。

動かす方法として以下2つを紹介します。

  1. Ollama単体で動かす方法(初心者向け)
  2. Ollama + Open WebUIでGUI付きで動かす方法(Dockerが分かる人向け)

初心者でとりあえずLLMを動かすのにチャレンジしたいという人は、1つ目のOllama単体で動かす方法にトライするのがおすすめです。

Dockerとか普段から使っているという人は、1をとばして2からはじめてもOKです。

OSはMac/Windows/LinuxどれでもOKです。特にApple SiliconのMacだとGPUメモリとか気にしなくてよいので楽です。

Ollama単体で動かす方法

以下のサイトに行ってアプリを落として、サイトの説明どおりに実行すればOKです。

https://ollama.com/

簡単ですね。Macだと、ほんと指示通りにコマンド実行するだけです。

Linuxだと以下コマンドでセットアップできました。

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

Windowsでは試せていません(すみません)。

ドキュメントはGitHubを参照しましょう。

https://github.com/ollama/ollama/tree/main/docs

Ollama + Open WebUIでGUI付きで動かす方法

OllamaもOpen WebUIもDockerで動かすのが手軽でよいので、単体でOllamaが入っていたら一旦アンインストールしてください。Linuxでのアンインストール方法はこちらです

続いてDockerをセットアップします。Dockerのセットアップや基本的な使い方は以下の記事を参考にしてください。

https://zenn.dev/mkj/articles/33befbaf38c693

後は、以下コマンドで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なので遅めですが、ちゃんとローカルで動いています。

https://x.com/karaage0703/status/1785224113692488126

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

ダウンロード可能なモデルは以下にならんでいます。

https://ollama.com/library

Raspberry Pi(ラズパイ)で動かす

ラズパイでも動くらしいです。まだ試してないのでそのうちに。
動きました。以下記事参照ください。

https://zenn.dev/karaage0703/articles/5fd411a9358898

まとめ

ローカルでLLMを手軽に動かす方法を紹介しました。ローカルでAIといえばNVIDIA一択だったのですが、動かすだけならMacの方が手軽に大きなパラメータのモデルを動かせるといった逆転現象がいつの間にかおきてて面白いですね。

色々なLLMがどんどん出てきて楽しいですね。

参考リンク

https://www.youtube.com/watch?v=8Pcs-P48fyg

https://note.com/schroneko/n/n8b1a5bbc740b

https://note.com/jap4ai/n/n632a2270b084

https://zenn.dev/seya/articles/03399b9e3d465e

https://zenn.dev/tos_kamiya/articles/9d8ce89bb933b1

関連記事

https://zenn.dev/karaage0703/articles/2b753b4dc26471

変更履歴

  • 2024/05/01 ラズパイでの動かし方のリンクを追記

Discussion

Kaito SugimotoKaito Sugimoto

ちょっとした Tips ですが、Open WebUI Docker run の際に、WEBUI_AUTH という環境変数を False にしておくことで、最初のユーザー新規登録画面をスキップできるようになりました。

docker run -d -p 3000:8080 --env WEBUI_AUTH=False --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