はじめに
こんにちは、アプリケーションサービス本部ディベロップメントサービス3課の北出です。 新しくMacBook Proを購入したのをきっかけに、ローカルLLMの構築に挑戦してみました。
普段の業務ではClaudeやGeminiといったクラウドベースのLLMを利用していますが、機密情報を扱うケースではデータを外部に送信できないという制約があります。クラウドLLMの利用が認められない案件や、お客様向けにローカルLLMを活用したソリューションを提案できるよう、実際に手を動かして検証した内容をまとめます。
本記事では、LM StudioとOpen WebUIを使って、ローカル環境でLLMチャットとナレッジベース(RAG)を構築した手順と、実際に使ってみた所感を紹介します。
ローカルLLMとは
ローカルLLMとは、クラウドサービスを介さずに自分のPC上でLLM(大規模言語モデル)を直接実行する方法です。ChatGPTやClaude、GeminiなどのクラウドLLMでは、入力したデータがインターネット経由でサービス提供者のサーバーに送信されますが、ローカルLLMではすべての処理が手元のマシン内で完結します。
近年、Meta LlamaやQwen、Mistralなど、高性能なオープンソースモデルが多数公開されており、個人のPCでも動作可能な軽量モデルが増えてきました。また、LM StudioやOllamaといったツールの登場により、専門知識がなくても手軽にローカルLLMを試せる環境が整ってきています。
ローカルLLMが注目される主な理由は以下の通りです。
- データプライバシー: 機密情報や個人情報を外部に送信せずにAIを活用できる
- オフライン利用: インターネット接続がない環境でも動作する
- ランニングコスト: API利用料が不要で、初期のハードウェア投資のみで運用できる
- カスタマイズ性: モデルの選択やファインチューニングを自由に行える
一方で、推論速度はマシンのスペック(特にGPUやメモリ)に大きく依存するため、クラウドLLMと比較するとレスポンスが遅くなる傾向があります。
今回の構成
今回構築した環境の構成は以下の通りです。
- マシン: MacBook Pro M5 32GB RAM
- LLMモデル: Qwen3.5-9B
- LLM実行環境: LM Studio
- チャットUI / RAG: Open WebUI
- コンテナ実行環境: Colima + Docker
LM Studioのセットアップ
LM Studioとは
LM Studioは、ローカル環境でLLMを簡単に実行できるデスクトップアプリケーションです。GUIでモデルのダウンロード・実行・チャットができ、OpenAI互換のAPIサーバーも立ち上げられます。
モデルのインストールと動作確認
- LM Studioをインストール
- アプリ内の検索からQwen3.5-9Bを検索しダウンロード
- モデルをロードしてチャット画面で動作確認

チャット自体は問題なく動作しましたが、簡単な質問でも回答に約1分かかりました。推論モードでは何層にも推論をしているようで、個人のMacBook Proでは推論速度に限界があるようです。
LM StudioではRAG機能が充実していないため、Open WebUIを使ってRAG機能を作成します。
MCPの設定
LM StudioではMCP(Model Context Protocol)の設定も可能です。MCPを設定することで、外部ツールとの連携が可能になります。今回はMCPの設定まで確認できました。自分の環境にはuvをインストールしており、普段使っているmcp.jsonそのままで設定できました。
Open WebUIでナレッジベース(RAG)を構築
Open WebUIとは
Open WebUIは、オープンソースのLLMチャットUIです。ChatGPTライクなインターフェースを提供し、ドキュメントをアップロードしてベクトル化することでRAG(Retrieval-Augmented Generation)を実現できます。
Dockerでの起動
Open WebUIはDockerで起動します。自分の環境ではDocker Desktopの代わりにColimaを利用しました。
# Colimaの起動 colima start # Open WebUIの起動 docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway --name open-webui ghcr.io/open-webui/open-webui:main
起動コマンドの詳細はOpen WebUI公式ドキュメントを参照してください。
LM Studioとの接続
Open WebUIからLM Studioで起動したローカルLLMサーバーに接続します。
- LM Studio側でAPIサーバーを起動
- Open WebUIの管理画面 → 「接続」設定からOpenAI互換APIのURLを設定
1. LM Studio側でAPIサーバーを起動
LM Studioの Developer → Local Server で画像のように設定します。CORSもONにしておきましょう。

2. Open WebUIの管理画面で設定
localhost:3000 にアクセスすると、Open WebUIにアクセスできるはずなので、管理者アカウントを設定してください。
その後、右上のユーザーアイコン → 管理者パネル → 設定 → 接続 で接続設定画面に入ります。

画像のように、OpenAI APIの接続の管理をhttp://host.docker.internal:1234/v1 に設定します。
モデル設定で qwen/qwen3.5-9b があればOKです。
これでOpen WebUI上からローカルLLMとチャットできるようになりました。
ナレッジベースの作成
Open WebUIのドキュメント機能を使って、ローカルのディレクトリをナレッジベース化しました。
- Open WebUIの「ワークスペース」→「ナレッジ」からナレッジベースを新規作成
- 作成したナレッジベースの「+」を押し、「ディレクトリをアップロード」でディレクトリを丸ごとナレッジベースに登録。
- アップロードしたドキュメントが自動的にベクトル化される
- チャット画面でナレッジベースを選択して質問
ナレッジベースには私の名前などに関するマークダウンを登録しています。チャットで私の名前に関して質問してみました。

問題なくナレッジベースから情報をとってきてくれました。
ナレッジベースの作成自体はスムーズにできましたが、ナレッジベースを参照した質問への回答には約2分かかりました。ドキュメントの検索とLLMの推論を合わせると、個人のマシンスペックではかなり時間がかかる印象です。
使ってみた所感
実際にローカルLLMを構築・利用してみて感じたことをまとめます。
メリット
- データが外部に出ない: 機密情報を扱う場合に大きなメリット
- インターネット不要: オフライン環境でも利用可能
- カスタマイズ性: モデルやRAGの設定を自由に調整できる
デメリット
- 推論速度が遅い: 個人のMacBook Proでは簡単な質問でも1分、RAGを使うと2分程度かかる。ナレッジベースを増やすとさらに増加すると予想。
- マシンスペックに依存: 快適に使うには高性能なGPUが必要
ユースケースの考察
| ユースケース | ローカルLLM | クラウドLLM |
|---|---|---|
| 個人の開発業務 | △(速度がネック) | ◎ |
| 企業の機密情報処理 | ◎(高性能マシン前提) | △(データ送信の懸念) |
| オフライン環境(災害時等) | ◎ | ✕ |
| コスト(長期運用) | ◎(初期投資のみ) | △(従量課金 or 月額課金) |
個人で使う分にはクラウドLLMの方が圧倒的に効率が良いです。一方で、企業レベルで高性能なコンピュータを用意できるなら、機密情報を扱うソリューションとして十分に価値があると感じました。
また、個人利用でも災害時などインターネットが使えない状況で、応急手当ての方法を聞くといった用途には役立ちそうです。
まとめ
今回、MacBook Pro上にLM StudioとOpen WebUIを使ってローカルLLM環境を構築し、ナレッジベース(RAG)まで実現しました。
- LM Studioで手軽にローカルLLMを実行できる
- Open WebUIでRAGを含むチャット環境を構築できる
- ただし個人のマシンスペックでは推論速度に課題がある
- 機密情報を扱う企業向けソリューションとしては有望
ローカルLLMは「使えるか使えないか」ではなく「どの場面で使うか」が重要です。用途とマシンスペックに応じて、クラウドLLMとうまく使い分けていくのが現実的な選択肢だと思います。