たまにはローカルで動かしたくなることもありますよね?
Ollamaをインストール
Ollamaをインストールします。
curl -fsSL https://ollama.com/install.sh | sh
Ollamaを起動します。
ollama serve
LLMを取得します。非力なパソコンなので、Qwen3のパラメーター数の一番小さなモデルを選びました。
ollama pull qwen3:0.6b
Open WebUIをインストール
Pythonパッケージとして導入するだけで使える親切設計です。
uvが導入されてなかったので導入します。
curl -LsSf https://astral.sh/uv/install.sh | sh
Pythonプロジェクトを作成します。
uv init openwebui --python 3.13
cd openwebui
Open WebUIとPyTorchとaudioop-ltsをインストールします。
PyTorchのCPU向けを使用するため、pyproject.tomlに以下の内容を追記します。
参考: https://docs.astral.sh/uv/guides/integration/pytorch/
[tool.uv.sources]
torch = [
{ index = "pytorch-cpu" },
]
torchvision = [
{ index = "pytorch-cpu" },
]
[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true
uv add torch open-webui audioop-lts
これでインストール完了です。
Open WebUIを起動する
uv run open-webui serveで起動できるのですが、RAGで使用する埋め込みモデルをカスタマイズします。完全に好みです。
日本語に強いらしい「Ruri: Japanese General Text Embeddings」を使います。
使い方は、環境変数に「RAG_EMBEDDING_MODEL=cl-nagoya/ruri-v3-310m」を指定するだけです。
RAG_EMBEDDING_MODEL=cl-nagoya/ruri-v3-310m uv run open-webui serve
他にも環境変数で設定変更できます。
https://docs.openwebui.com/getting-started/env-configuration
自動的に埋め込みモデルのダウンロードが行われます。
しばらくしたら、http://localhost:8080/でアクセスできるようになります。
ブラウザで開いてみましょう。
おしゃれがぶっ飛んでて、違うアプリを起動してしまったのかと思ったのですが「はじめる」をクリックします。
あってましたね、良かったです。
初期ユーザーを作成します。メールアドレスを入力しますがメールが飛んだりは無さそうでした。ログインするとこんな感じです。Ollamaと上手に接続ができていれば、モデルが自動で選ばれます。
非力な環境でも優しく回答してくれます。
RAGする
それでは目当てのRAGとして設定を続けましょう。サイドパネルに「ワークスペース」があるのでこれを選択します。
「ナレッジベース」タブを選び、右上の「New knowledge」をクリックします。
適当に入力します。
取り込みたいファイルをドラッグアンドドロップすると埋め込みが開始されます。初期設定に従ってチャンク分割とかもされてそうです。
画面上は進捗がわからないですが、ターミナルをみると進捗がわかります。
ナレッジベースの作成ができたらチャットに戻ります。「+」をクリックすると「Attach Knowledge」というメニューがあるのでここから作成したナレッジベースを選択します。
ドキュメントをもとに回答はしてくれましたが、、、ハルシネーション。。😭
チャンクサイズやモデルを切り替えたい場合は、左下の「管理者パネル」から「設定」タブを選択し、「ドキュメント」セクションで設定可能です。
プロンプトのテンプレートもここで変更できます











