ローカルLLMとは、自分のPC上で動く大規模言語モデルのこと。社内の受託コードや未公開機能のソースを、クラウドAIにコピペして貼り付ける瞬間、少し手が止まった経験はありませんか?便利なのは確かなのに、「このコード、外に出して大丈夫だっただろうか」という違和感が残る。それを根本から解決するのが、LLMを自分のマシンの中で完結させるアプローチです。ローカルモデルだけで使う限り、APIキーもクラウド依存もなく、コードはPCの外に一歩も出ません。
この記事では、2026年に公開された最新のオープンモデル Gemma 4 と Ollama を組み合わせた最小構成で、コードを外に出さずに使えるローカルAI環境を初心者向けに解説します。情報は2026年6月時点のものです。
- ローカルLLMはコードや機密情報を外部に送信せずにAI分析ができる仕組み
- Ollama + Gemma 4 + Python(requests・Streamlit)の組み合わせが最小構成
- Gemma 4は2026年公開・Apache 2.0。E2B〜31Bの5サイズで、ノートPCからワークステーションまで選べる
- 初期セットアップ後はランニングコストゼロ、オフラインでも稼働可能
ローカルLLMとは何か
ローカルLLMは、OpenAIやGoogleなどの外部サービスに頼らず、自分のパソコンの中だけで動作する生成AIモデルを指します。従来、ChatGPTのようなサービスを使うときは、入力したテキストがインターネット越しに相手のサーバーへ送られ、そこで処理された結果を受け取る仕組み。これに対してローカルLLMは、モデル本体をダウンロードして手元のPCで推論(AIが回答を生成する処理)を行うため、入力データが外部に流出する経路がそもそも存在しません。
なぜ今、開発者の間でローカルLLMが注目されているのでしょうか。背景にあるのは、企業コードやクライアント案件のソースコードをクラウドAIに投げることへの抵抗感。受託開発では契約上、第三者サーバーへのデータ送信が禁じられているケースが珍しくありません。発表前のプロダクトコードや内部ロジックには競争優位性が詰まっており、漏洩リスクは無視できないものです。
ローカルLLMが守ってくれるのは、プライバシーだけではありません。クラウドAPIにつきものだったレート制限(一定時間あたりのリクエスト数上限)やネットワーク遅延からも解放されます。GPUを積んだPCが手元にあれば秒単位で応答が返り、呼び出し回数で課金されることもない。ネットがあろうがなかろうが動くのもローカル推論の強みです。ただし外部送信が完全にゼロになるのは、ローカルモデルだけで使う構成に限ります。Web検索やMCPのような外部連携機能を足すと、その経路では通信が発生する点は押さえておきましょう。
受託・社内開発で「APIに投げられない」コードは多い
現場感覚の話をすると、NDA(秘密保持契約)を結んでいるクライアント案件で、コード断片をクラウドAIに貼り付けるのは規約違反になるケースが多いのが実情。契約書に「第三者への開示禁止」と書かれていれば、OpenAIやAnthropicのサーバーもその「第三者」に該当します。社内ポリシーで生成AI利用を禁止している企業も増えており、コードレビューやリファクタ支援にAIを使いたくても使えない、という開発者は少なくないはずです。
レート制限とネットワーク遅延から解放される
クラウドAPIは大量の同時リクエストに対してスロットリング(意図的な速度制限)をかけてきます。数百ファイル規模のコードベースを一括で分析したい場合、API側の制限にぶつかって処理が途中で止まる、ということも。ローカル実行ならハードウェアの限界までは自由に回せます。
初期セットアップ後はランニングコストゼロ
クラウドAPIはトークン課金(処理した文字数に応じた従量課金)のため、使い込むほど請求額が膨らみます。ローカルLLMはモデルをダウンロードする初期コストのみ。その後は電気代を除けば何度呼び出しても無料。試行錯誤しながらプロンプトを磨くような使い方と相性が抜群です。
クラウドAPIとローカルLLMは、コスト構造もデータの取り扱いも根本的に異なります。下の比較表で違いを並べると、どちらに寄せるべきかの判断材料になります。
| 項目 | ローカルLLM (Ollama + Gemma 4) | クラウドAPI (GPT / Claude 等) |
|---|---|---|
| データの送信先 | 送信なし (ローカル完結) | 提供事業者のサーバーへ送信 |
| 課金体系 | 初期セットアップのみ (電気代のみ) | トークン従量課金 |
| レート制限 | ハードウェア性能で決まる | 1分・1日あたりリクエスト数上限あり |
| ネットワーク依存 | オフラインで動作可 | 常時インターネット接続が必要 |
| 精度・推論力 | モデルサイズで決まる (中量級まで) | フロンティアモデルで最上位の品質 |
| 商用コードへの利用 | NDA 案件でも問題が起きにくい | 規約 / NDA で禁じられるケースあり |
Ollama + Gemma 4 という最小構成
ローカルLLMを動かすと聞くと、GPUドライバやCUDA、Pythonライブラリのバージョン合わせなど、環境構築で挫折するイメージがあるかもしれません。ここ数年で状況は大きく変わり、今は数コマンドで動き出す時代。その立役者が Ollama です。
Ollamaは、ローカルLLMを簡単に扱えるようにするモデルサーバー(モデルの管理と推論を請け負うソフトウェア)。公式サイトからインストーラを入手すれば、Windows・macOS・Linuxのいずれでも動きます。モデルのダウンロード、GPU割り当て、REST APIの起動まで、面倒な部分を肩代わりしてくれる存在です。Ollama 上でローカルモデルをGUIから使いたい場合は、Open WebUIでブラウザUIをかぶせる方法も選べます。
そこに組み合わせるのが、Googleが公開しているオープンウェイトモデル Gemma 4 です。2026年に公開された最新世代で、Apache 2.0ライセンスで商用利用も可能。Ollamaのライブラリから直接入手でき、ローカルで動かすモデルとしては扱いやすい部類です。
Ollamaの役割:モデルサーバーとして動く
Ollamaは起動するとバックグラウンドで常駐し、ローカルホスト(自分のPCのネットワーク内)にHTTPエンドポイントを用意します。アプリケーション側はこのエンドポイントに対してJSON形式のリクエストを投げるだけで、モデルからの応答を受け取れる設計。モデルごとに別々のソフトをインストールする必要はなく、Ollamaひとつで複数モデルを切り替えながら使えるのが利点です。具体的なエンドポイントは、テキスト生成用の /api/generate、会話履歴を保持できる /api/chat など。各指標の読み方はローカルLLMのベンチ数値の読み方も参考になります。
Gemma 4を選ぶ理由と世代の変化
本記事は前世代のGemma 3を扱っていましたが、2026年にGemma 4が公開され、ローカルLLMの選択肢として最新かつ扱いやすい世代になりました。Gemma 4は、Gemini の研究・技術を基に作られた軽量オープンモデルファミリーです。コード関連タスクや多言語に強く、Ollama経由でそのまま動かせます。世代の主な進化は次の通りです。
- MoE(Mixture of Experts)の採用:26B A4B は Mixture of Experts 構造で、推論時は1トークンあたり約4Bパラメータをアクティブ化します。ただし高速にルーティングするため、モデル全体としては26B分の重みをメモリにロードする必要があります(VRAMが4B級で済むわけではない点に注意)。
- 長いコンテキストとマルチモーダル:12B以上は最大256Kトークンの文脈に対応。テキストと画像を扱え、Google公式仕様ではE2B/E4B/12Bが音声入力にも対応します(Ollamaのタグ表示は下表のとおり)。
- 幅広いサイズ:スマホ級のE2Bからワークステーション向けの31Bまで5サイズが揃い、手元のマシンに合わせて選べます。
Gemma は軽量で最先端のオープンモデルファミリーで、Gemini モデルの作成に使われたものと同じ研究と技術を基に構築されている。(Google AI for Developers — Gemma 公式ドキュメント)
Gemma 4にはパラメータ数の異なる複数のバリアントが用意されています。手元のGPUのVRAMに合わせてサイズを選ぶ形になるので、選定の前に下の早見表で目安をつかんでおくと迷いません。なお下表の容量はOllamaが示すモデルのダウンロード/ファイルサイズであり、実運用時のVRAM消費そのものではありません。Google公式にも量子化別の概算メモリ要件は示されていますが、Ollamaで実際に使うVRAMは量子化形式・推論環境・KVキャッシュ・コンテキスト長によって変わります(特に256Kコンテキストを使う場合は上振れします)。右端の想定環境は量子化(4bit級)・短いコンテキストでの目安なので、導入前にはご自身の環境で動作を確かめてください。
| Ollamaタグ | 規模 | サイズ目安(DL) | コンテキスト | 対応モダリティ | 想定環境 |
|---|---|---|---|---|---|
| gemma4:e2b | 実効2B級 | 約7.2GB | 128K | テキスト+画像 | 軽量端末・スマホ級 |
| gemma4:e4b | 実効4B級 | 約9.6GB | 128K | テキスト+画像 | 16GB級ノートPC |
| gemma4:12b | 12B | 約7.6GB | 256K | テキスト+画像 | ミドル〜上位GPU |
| gemma4:26b | 26B A4B(active 約4B) | 約18GB | 256K | テキスト+画像 | RTX 4090 / 5080 級 |
| gemma4:31b | 31B Dense | 約20GB | 256K | テキスト+画像 | VRAMの大きい上位GPU |
対応モダリティは、Ollamaのgemma4タグ一覧では各タグとも「Text / Image 入力」表示です(上表もこれに合わせています)。Google公式のモデル仕様としてはE2B/E4B/12Bが音声入力にも対応しますが、Ollama上で音声まで扱えるかは最新のタグ一覧でご確認ください。
具体的なダウンロードコマンドや量子化バリアントは Ollama のライブラリ(gemma4 ページ)に一覧されています。gemma4:latest はE4B(約9.6GB)に相当し、まず軽量なE4Bを試して、応答速度や精度に余裕があれば12B・26Bへ上げる、という段階的なアプローチが扱いやすい流れです。Gemma 4とQwen3などの使い分けや、量子化別の数値の見方を深掘りしたい場合はベンチ数値の読み方の記事が参考になります。
Python + requests で呼び出す最小実装イメージ
OllamaのAPIはシンプルなREST形式のため、Pythonの requests ライブラリ(HTTP通信を扱う標準的なライブラリ)があれば数行で呼び出せます。プロンプトとモデル名を含むJSONを組み立て、ローカルホストのエンドポイントにPOSTするだけ。返ってきたJSONを解釈すれば、そのまま後続処理に流せます。特別なSDKも認証トークンも不要です。
イメージとしては、次のようなコードが最小実装になります。
import requests
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": "gemma4:e4b",
"prompt": "次のコードをレビューしてください: def add(a, b): return a + b",
"stream": False,
},
timeout=120,
)
print(response.json()["response"])
UIをつけたければ Streamlit(Pythonだけで手軽にWebアプリのUIが作れるフレームワーク)を組み合わせるのが定番パターン。テキストエリアとボタンを並べるだけで、社内ツールとして共有できる画面が数十行のコードで完成します。requestsでの最小呼び出しから一歩進めて、社内アプリから本格的にローカルLLMを叩くAPIサーバー構成にしたい場合はOllamaをローカルAPIサーバーにして社内アプリから呼ぶ方法で詳しく扱っています。指示文の精度を上げるコツはプロンプトの書き方がそのまま応用できます。
ローカルLLMで作れる開発者向けツールの方向性
Ollama + Gemma 4 + Python という基盤ができれば、その上に載せるツールは用途次第で広げられます。クラウドAIに頼っていたタスクのうち、「コードを見せたくないから諦めていた」「課金が気になって使えなかった」分野にこそ、ローカルLLMが効く場面が多いです。クラウド側のコーディング支援と比べてどう使い分けるかは、Claude CodeとOpenAI Codexの比較もあわせて読むと整理しやすくなります。
コード複雑性・可読性の分析
関数の複雑度を数値化したり、ネストが深すぎる箇所を指摘させたり、命名規則の一貫性をチェックしたり。こうしたタスクはローカルLLMが得意とするところ。社内のレガシーコードを一気に読み込ませて、保守性の観点から問題箇所をリストアップさせる、といった使い方が現実的です。リポジトリ全体を対象にできるのは、トークン課金を気にしなくていいローカル実行ならではの強みです。
コミット前のローカルレビュー
Gitのコミットフック(コミット時に自動実行されるスクリプト)にローカルLLM呼び出しを仕込めば、プッシュ前にAIが差分をレビューしてくれる仕組みが作れます。typoや明らかなバグパターンを検出するだけでも、プルリクエストの差し戻しが減るはず。エディタ側でローカルモデルを使う構成なら、ClineとOllamaを連携させる方法も合わせて検討できます。
StreamlitでGUI化する選択肢
チーム内で共有したい場合、コマンドラインのままでは使ってくれない同僚もいます。StreamlitでWebブラウザから触れるUIを被せれば、非エンジニアでも使える社内ツールに化けます。ログファイルをアップロードするとLLMが要約してくれる、ドキュメント断片を投げると質問応答してくれる、といったミニアプリがすぐに作れます。
使うときに気をつけること
ローカルLLMは万能ではありません。クラウドAPIに慣れていると「同じ感覚で使えるだろう」と思いがちですが、いくつか現実的な制約があります。過度な期待で導入すると落胆することになるため、先に制約を押さえておきましょう。
GPUメモリと応答速度のトレードオフ
ローカル実行はハードウェア依存が大きな要素。Gemma 4をそれなりの速度で動かすには、GPU(特にVRAM容量)が一定以上必要です。ノートPCの内蔵GPUだと応答に時間がかかることもあり、生産性の観点でストレスになりかねません。モデルサイズを小さくすれば軽量マシンでも動きますが、そのぶん精度も変わります。導入前に自分の環境で動作確認する工程を省かないでください。
クラウドAPIに比べて精度が及ばない場面もある
最新のフロンティアモデル(商用クラウドAPIの最上位クラス)と比較すると、ローカルで動かせるサイズのモデルは精度や推論力で一歩譲る場面があるのも事実。複雑なアーキテクチャ設計の相談や、曖昧な要件からのコード生成など、高度な推論を要するタスクではクラウドAPIが有利な傾向があります。ローカルLLMは「プライバシー優先・コスト優先のタスク」に寄せて使い分ける発想が現実的です。
起動しない・応答が遅いときのトラブルシュート
導入で詰まりやすいポイントは、ポート競合・VRAM不足・モデルロード時間の3つに集約されます。
- Ollamaが起動しない / ポート使用中エラー: 既に別プロセスが 11434 を握っているケース。環境変数
OLLAMA_HOSTで待受ポートを変更します。 - 応答が極端に遅い(秒あたり数トークン以下): VRAM不足でシステムメモリへスワップしている可能性。モデルを1段小さいバリアント(例: 12b → e4b)に切り替えるか、量子化を進めたタグを試します。
- 初回プロンプトだけ時間がかかる: モデルのウォームアップ待ち。Ollamaはデフォルトで一定時間アイドルするとVRAMからアンロードする仕様のため、常駐させたい場合は
OLLAMA_KEEP_ALIVEを長めに設定します。
よくある質問
Q. OllamaとGemma 4の利用に料金はかかりますか?
どちらもソフトウェア本体・モデルファイルの入手は無料です。クラウドAPIのようなトークン課金は発生しません。かかるのは電気代とGPU搭載PCの費用のみ。Gemma 4はApache 2.0で公開されていますが、商用利用時はライセンス条項を念のため確認してください。
Q. どんなPCスペックが必要ですか?
GPU搭載PCが推奨で、モデルのサイズに応じたVRAMが必要です。小型のE2B / E4Bならノートや16GB級メモリのマシンでも動く一方、26B・31Bはデスクトップの上位GPUが前提になることも。まずはE4Bで動作確認するのが無難です。実際のVRAM消費はコンテキスト長で増える点も意識してください。
Q. 商用コードや社内コードに使えますか?
ローカル実行のため、コードが外部サーバーに送信されることはありません。ただしモデルのライセンス条項は別問題で、Gemma 4はApache 2.0ですが利用前に確認を。社内ポリシーで生成AI利用そのものが制限されているケースもあるため、情シスやコンプライアンス担当への確認も忘れずに。
Q. Gemma 4 と Llama / Qwen3 のどれを選べばよいですか?
用途次第で選び分けるのが基本。Gemma 4はコード理解と多言語が安定し、12B以上は256Kの長文・画像入力にも対応。Llama系は英語中心の汎用性能、Qwen系は中国語や数学・コード生成で強い傾向があります(各系列とも世代交代が速いため、これは2026年6月時点の傾向です)。まずはGemma 4で動かし、用途に合わなければ別モデルへ差し替えるのがOllamaの利点(モデル切替が ollama pull 1行)。AI開発ツール全体を俯瞰したい場合はAIエージェント構築フレームワークの比較も参考になります。
Q. Windows と Mac、どちらが向いていますか?
大型モデル(12B以上)を快適に動かすなら、NVIDIA GPUを積めるデスクトップ Windows / Linux 機が有利。Apple Silicon の Mac は統合メモリでVRAMをシェアできるため、メモリ搭載量が多い構成なら12Bクラスも実用速度で動かせます。OllamaはApple MLX最適化タグ(gemma4:e4b-mlx など)も用意されています(2026年6月時点、Ollama上の表示ではテキスト・画像入力に対応。音声入力の扱いは通常タグと同じとは限らないため、最新のタグ一覧でご確認ください)。
Q. ChatGPT のように会話履歴を保持できますか?
Ollamaの /api/chat エンドポイントを使うと、messages 配列にロールと内容を順番に積むだけで会話履歴を保持できます。ただし履歴を持たせるのは呼び出し側の責任で、サーバー側にセッションは保存されません。Streamlitでセッションstateに履歴を載せておく実装が定番です。
まとめ
クラウドAIの便利さは認めつつも、「このコードは外に出したくない」という場面で詰まっていた開発者にとって、ローカルLLMは実用段階に入った選択肢です。Ollama + Gemma 4 + Python(requests)というシンプルな構成で、APIキーも月額費用も不要のAI分析環境が手元に作れます。
最初の一歩として、OllamaをインストールしてGemma 4(まずはE4B)を1つだけダウンロードし、Pythonのrequestsで短いプロンプトを投げてみる。ここまで進めると、クラウドAPIに頼らずに動くAIの感触が体で理解できます。その後にStreamlitでUIを被せるか、コミットフックに組み込むか、用途を広げていけばいい。いきなり大きなツールを作ろうとせず、「コードを外に出さずに1つ質問する」から始めると、導入のハードルが一気に下がります。
参考資料
- Google AI for Developers — Gemma 4 モデルカード(サイズ・コンテキスト・モダリティ・ライセンス)
- Google AI for Developers — OllamaでGemmaを実行する
- Ollama ライブラリ — Gemma 4(タグ・サイズ一覧)
- Ollama 公式 — API リファレンス(/api/generate・/api/chat)
本記事は AIツール図鑑 が記載時点(2026年6月)の公式情報をもとに執筆しています。モデルの世代・サイズ・ライセンス・対応環境は更新が速いため、導入前に各公式ページで最新情報をご確認ください。一定期間が経過した内容は再検証を推奨します。

