本記事は中立的な技術紹介です。特定ベンダーからの金銭・物品提供はなく、アフィリエイトリンクも含みません。
「OpenAI や Claude の API は便利だけれど、社内データを外に出せない」――そんな悩みを抱える開発者は少なくありません。個人開発でも、トークン課金がじわじわ効いてくる場面はあります。本記事では、ローカルLLM 実行ツール Ollama を使い、Mac・Windows・Linux で Llama 4 / Gemma 3 / Qwen 3 といった最新世代モデルを動かす手順を解説します。
筆者が確認したかぎり、必要な操作は本質的に3コマンドです。インストール → モデル取得 → 実行、これだけで対話が始まります。読み終えるころには、コマンドラインからのチャット、Python からの呼び出し、REST API での連携を一通り把握できます。さらに Modelfile によるカスタムモデル作成までを扱う構成です。
なぜ今「ローカルLLM」なのか
クラウドAPIは強力ですが、いくつかの場面で「使いにくい」と感じることがあります。ローカルLLM はその空白を埋める選択肢として、2026年時点で急速に実用化が進んでいます。
クラウドAPIで困りやすい3つの場面
第一に、社内データのプライバシーの問題です。顧客情報や社内議事録を API 経由で送るには、契約・規程・監査の壁があります。第二に、コストの予測不能性です。トークン課金は便利な反面、利用量が読めない開発フェーズでは費用が膨らみがちです。第三に、オフライン環境です。出張先や閉域網では、そもそも外部 API に到達できません。
Ollama のようなローカル実行基盤は、これらの課題に対して「データを外に出さず、課金もなく、ネットワークなしで動く」という解を提供します。
クラウドAPI vs ローカルLLM 早見表
選択は二者択一ではなく、用途で使い分けるのが現実的です。
| 観点 | クラウドAPI(OpenAI / Claude 等) | ローカルLLM(Ollama) |
|---|---|---|
| 初期コスト | ゼロ(従量課金) | PC スペック増強の可能性あり |
| ランニングコスト | トークン従量で変動 | 電気代のみ(API 課金なし) |
| プライバシー | 規約・契約に依存 | 端末内完結、外部送信なし |
| 最大性能 | フロンティアモデルに優位 | 中規模 OSS モデル中心 |
| オフライン | 不可 | 可能 |
| 推論速度 | サーバー側が高速 | ハードに依存(GPU 推奨) |
社外秘文書の要約はローカル、創作や難解な推論はクラウド、というハイブリッド運用も増えています。
Ollama とは何か
Ollama は、OSS の大規模言語モデルを「ワンコマンドで取得・実行」できるツールです。公式リポジトリ ollama/ollama(GitHub)は MIT ライセンスで公開され、スター数は2026年5月時点で約17万を記録しています。
Ollama の特徴
特徴は3点に集約できます。第一に、単一バイナリで動作するため依存関係の管理が軽い点。第二に、http://localhost:11434 で自動的に REST API サーバーが立ち上がる点(API リファレンス)。第三に、モデルライブラリが豊富な点です。Llama・Gemma・Qwen・DeepSeek・gpt-oss など主要 OSS LLM をコマンド一つで取得できます。
LM Studio・GPT4All・llama.cpp との比較
近い領域には複数のツールがあります。立ち位置を整理すると次のとおりです。
| ツール | GUI | CLI/API | 特徴 |
|---|---|---|---|
| Ollama | なし(別途 OSS UI) | あり(REST 標準搭載) | サーバー型、開発者・自動化向け |
| LM Studio | あり | 限定的 | 非エンジニアにも優しい |
| GPT4All | あり | 限定的 | デスクトップ完結型 |
| llama.cpp | なし | あり(低レベル) | エンジン本体、最大限の調整自由度 |
Ollama は内部で llama.cpp 系の推論エンジンを活用しつつ、上位レイヤーで配布・API・モデル管理を一括して引き受ける位置づけです。
インストール手順(macOS / Windows / Linux)

公式 README の手順に沿えば、いずれの OS でも数分で完了します。
macOS(Apple Silicon / Intel 共通)
公式インストーラ(.dmg)をダウンロードする方法と、Homebrew を使う方法があります。スクリプトでまとめて済ませるなら次のとおりです。
# macOS / Linux 共通の公式インストールスクリプト
curl -fsSL https://ollama.com/install.sh | sh
# 起動確認
ollama --version
Apple Silicon(M1/M2/M3/M4)では Metal バックエンドで GPU が自動的に使われます。Intel Mac でも動作しますが、推論速度は Apple Silicon が有利です。
Windows 11
公式の .exe インストーラを使うか、PowerShell から次のワンライナーで導入できます。
# Windows 11 / PowerShell(管理者)
irm https://ollama.com/install.ps1 | iex
NVIDIA GPU 搭載機では CUDA が自動検出され、対応ドライバが入っていれば GPU 推論が有効になります。
Linux
Linux も macOS と同じ curl ワンライナーで導入できます。systemd 経由でサービス化されるため、再起動後も自動で ollama serve が立ち上がります。
curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollama # サービス稼働確認
主要モデル選定マトリクス(Llama 4 / Gemma 3 / Qwen 3)

「どのモデルを入れるべきか」は PC スペックと用途で決まります。代表3シリーズの公式仕様を整理します。
量子化と必要 RAM/VRAM の早見表
量子化はモデルの重みを低ビットに圧縮する技術で、Ollama は既定で Q4_K_M(4bit 系)を採用します。公式ライブラリのサイズ表記と各モデルカードを総合すると、目安は次のとおりです。
| パラメータ規模 | Q4_K_M の RAM/VRAM 目安 | システム RAM 推奨 |
|---|---|---|
| 7B(例: Qwen3-8B) | 4〜6GB | 8GB〜 |
| 13B(例: Gemma 3 12B) | 8〜10GB | 16GB〜 |
| 27〜32B(例: Gemma 3 27B / Qwen3-32B) | 18〜22GB | 32GB〜 |
| 70B 以上 / MoE 系 | 40GB 超 | 64GB〜(または GPU 複数枚) |
公式の推奨は「まず Q4_K_M で試し、出力品質に不満があれば Q5_K_M に上げる」というシンプルな方針です。Q8_0(8bit)は FP16 にほぼ無損失ですが、Q4_K_M の約2倍のメモリが必要になります。
PCスペック別おすすめモデル(4パターン)
執筆時点(2026年5月)の各シリーズ公式ページから、現実的な組み合わせをまとめました。
| あなたの環境 | 推奨モデル | 取得コマンド |
|---|---|---|
| 16GB RAM ノート PC | Gemma 3 4B / Qwen3-8B | ollama pull gemma3:4b / ollama pull qwen3:8b |
| 32GB RAM Apple Silicon | Gemma 3 12B / Qwen3-14B | ollama pull gemma3:12b / ollama pull qwen3:14b |
| 64GB RAM ワークステーション | Gemma 3 27B / Qwen3-32B | ollama pull gemma3:27b / ollama pull qwen3:32b |
| RTX 4090 + 64GB RAM | Llama 4 Scout(MoE) | ollama run llama4:scout |
Llama 4 Scout は 公式表記で総パラメータ 109B / アクティブ 17B の MoE 構成で、ファイルサイズは約67GB と公開されています(Ollama Library: Llama 4)。Scout はコンテキスト窓 10M トークンとされており、長文ドキュメント要約で有利な可能性があります。Maverick(400B/17B、約245GB)は個人 PC で動かすのは現実的に難しい規模です。
3モデルのライセンスと商用利用可否
商用利用を検討する場合は、各社のライセンス条文を必ず確認してください。Ollama でモデルを pull した時点で各ライセンスの利用者になります。
| モデル | ライセンス | 商用利用 |
|---|---|---|
| Llama 4 (Scout/Maverick) | Llama 4 Community License | 公式に商用利用可。ただし月間アクティブユーザー数閾値や用途制限の条文があり、規模が大きい場合は Meta との別途合意が必要 |
| Gemma 3 (270M〜27B) | Gemma Terms of Use | 商用利用可。禁止用途リストの遵守が条件(Ollama Library: Gemma 3) |
| Qwen 3 (0.6B〜32B dense) | Apache-2.0 | 公式モデルカードで明示。商用利用に対する追加制約はほぼなし(Ollama Library: Qwen 3) |
「とりあえず社内ツールに組み込みたい」段階では、Apache-2.0 で扱いやすい Qwen 3 系から触り始めるのが安全策のひとつです。なお Gemma 3 は 4B 以上で テキスト+画像のマルチモーダルに対応し、140 言語以上をサポートします(ナレッジカットオフは 2024-08)。
基本操作と REST API

ここからは実際に動かしていきます。
3コマンドで動かす最短手順
インストール後、次の3行を順に実行するだけで対話が始まります。ollama run は未取得モデルを自動で pull するため、pull を省略しても動作しますが、巨大モデルは事前に取得しておくと安心です。
# 1) サービスが起動しているか確認
ollama --version
# 2) モデルを取得(初回のみ)
ollama pull qwen3:8b
# 3) 対話開始(Ctrl + d で終了)
ollama run qwen3:8b
公式 README には ollama run gemma3 のような短縮表記も例として明記されています。Qwen 3 を選ぶ場合、Thinking モード(推論過程を として出力)と Non-Thinking モードを切り替え可能な点が特徴的です。
REST API(/api/generate と /api/chat の使い分け)
ollama serve 稼働中は http://localhost:11434 で REST API が公開されています。エンドポイントは大きく2系統に分かれます。
/api/generate: 単発のプロンプト補完向け。1往復で答えがほしいときに簡潔。/api/chat: メッセージ配列(role/content)を渡す対話用。会話履歴を保持する用途に向く。
curl で両方を試すと違いが直感的に分かります。
# /api/generate : 単発補完
curl http://localhost:11434/api/generate -d '{
"model": "qwen3:8b",
"prompt": "ローカルLLM の利点を3つ箇条書きで挙げてください。",
"stream": false
}'
# /api/chat : 会話形式
curl http://localhost:11434/api/chat -d '{
"model": "qwen3:8b",
"messages": [
{"role": "system", "content": "あなたは日本語のテクニカルライターです。"},
{"role": "user", "content": "Ollama の長所を100字で説明してください。"}
],
"stream": false
}'
stream パラメータは既定で true(逐次 JSON)です。1レスポンスにまとめたいときだけ false を指定します。Ollama は structured outputs と tool calling にも対応しており、関数呼び出し型のエージェント実装も可能です。
Python から呼ぶ(同期・ストリーミング)
公式 Python クライアントは PyPI 上のパッケージ名 ollama で提供されています。対応 Python は 3.8 以上、ライセンスは MIT です(ollama-python リポジトリ)。
pip install ollama
同期で1往復する最小例は次のとおりです。
# basic_chat.py — 同期版・最小サンプル
import ollama
response = ollama.chat(
model="qwen3:8b",
messages=[
{"role": "system", "content": "あなたは日本語の技術解説者です。"},
{"role": "user", "content": "Ollama の使い方を1段落で説明してください。"},
],
)
print(response["message"]["content"])
ストリーミングはトークンが届くたびに UI へ反映したいときに便利です。stream=True を指定し、チャンクの message.content を逐次出力します。
# streaming_chat.py — ストリーミング版
import ollama
stream = ollama.chat(
model="qwen3:8b",
messages=[
{"role": "user", "content": "Python で FizzBuzz を書いて。"},
],
stream=True,
)
for chunk in stream:
print(chunk["message"]["content"], end="", flush=True)
print()
非同期処理が必要な場合は AsyncClient を使えば、FastAPI などのサーバー実装にも組み込めます。RAG パターンと組み合わせる場合は、LangChain で作る RAG 実装30分入門で扱った構成を Ollama 側に差し替えるだけで完全ローカル RAG が成立します。音声入力からの推論パイプラインを組みたい読者は、Whisper API を Python で30分実装と組み合わせるとローカル完結のアシスタントを構築できます。
Modelfile でカスタムモデルを作る
Modelfile は Dockerfile に似た書式の仕組みです。「土台モデル+システムプロンプト+パラメータ」を1ファイルに束ねられます(Modelfile Reference)。
Modelfile の基本構文
主要命令は次の通りです。
FROM: 土台モデルを指定SYSTEM "...": 常時付与するシステムプロンプトPARAMETER temperature 0.7等 : 温度やnum_ctx(コンテキスト長)などを上書きTEMPLATE: プロンプトテンプレートを書き換えMESSAGE user/assistant "...": few-shot 用の対話例を埋め込み
社内チャット用「日本語アシスタント」を作る最短例
たとえば「常に丁寧な日本語で返答し、コードは Python を優先する」アシスタントは次の3行で定義できます。
# Modelfile
FROM qwen3:8b
SYSTEM "あなたは日本語で丁寧に応答する社内テックアシスタントです。コード例は Python を優先し、必要な場合のみ他言語を補足してください。"
PARAMETER temperature 0.4
保存後、ビルド・実行は次の2コマンドです。
ollama create company-assistant -f Modelfile
ollama run company-assistant
これで company-assistant というカスタムモデルが登録され、対話を始められます。社内ナレッジを学習させたい場合は、別途 LLM ファインチューニング完全ガイド(QLoRA・企業導入)で扱った QLoRA 等を併用するのが現実的です。
トラブルシューティングと企業導入の3点チェック
導入時に多い詰まりどころと、企業導入で確認しておきたいポイントを整理します。
よくある失敗と対処
メモリ不足エラーが出るときは、Q4_K_M 系のより小さいパラメータ規模に切り替えます。たとえば gemma3:12b で OOM(メモリ不足)になるなら、gemma3:4b に下げる、もしくは Q5 系を Q4 系へ落とすのが定石です。
モデルダウンロードが途中で止まる場合は、社内プロキシや TLS インスペクションが原因のことが多くあります。HTTPS_PROXY 環境変数の設定、または企業 CA 証明書の信頼ストア追加を試してください。
GPU が認識されない場合は、NVIDIA であれば最新の CUDA Toolkit と Studio Driver の組み合わせを確認します。Apple Silicon は基本的に追加設定なしで Metal が使われます。
企業のセキュリティ規程をパスする3点
社内導入の判断材料として、ローカルLLM を選んだ場合に必ず確認しておきたい3点があります。
- モデルライセンス:Llama 4 Community License、Gemma Terms of Use、Apache-2.0 のいずれかを採用しているか
- 通信のオフライン性:Ollama 本体はモデル取得後は外部送信を行わない設計だが、フロントエンド側で意図せず外部 API を呼んでいないか
- ログの取り扱い:推論ログを誰がどこに保管するか(端末ローカルか、社内サーバーか)
「無料」「OSS」だけでは法務・情報セキュリティを通せません。上記3点を README とポリシー文書で説明できるようにしておくと、稟議は通しやすくなります。
FAQ
Q1. Ollama は無料で使えますか?商用利用も可能ですか? A. Ollama 本体は MIT ライセンスで無料です。ただしモデル側のライセンスは別です。Llama 4 は Community License、Gemma 3 は Gemma Terms of Use、Qwen 3(dense)は Apache-2.0 と各社で異なります。商用利用時は各ライセンスの条文(特に Meta のユーザー数閾値や Gemma の禁止用途リスト)を必ず確認してください。
Q2. メモリ不足のエラーが出ます。どう対処すれば良いですか? A. まずパラメータ規模を一段下げます(例: 12B → 4B)。それでも厳しい場合は、Q4_K_M 量子化版を選び、他アプリを終了して RAM を確保してください。7B クラスの Q4_K_M なら 8GB RAM でも動作可能とされていますが、応答速度は GPU/Apple Silicon が望ましいです。
Q3. Ollama はインターネット接続が必要ですか? A. モデルの初回ダウンロード時のみ必要です。ollama pull が完了したあとは、推論自体はオフラインで実行できます。閉域網に持ち込む場合は、別端末で pull 済みの ~/.ollama ディレクトリを丸ごと移送する運用も可能です。
Q4. Mac の Apple Silicon と Intel ではどちらが速いですか? A. 一般論として Apple Silicon(M シリーズ)が有利です。Ollama は Metal バックエンドで GPU を自動利用するためです。Intel Mac でも CPU 推論で動作はしますが、同じモデルでは推論速度に大きな差が出る可能性があります。
Q5. OpenAI 互換クライアントから Ollama を呼べますか? A. はい、呼べます。Ollama は OpenAI 互換のチャット API を提供しているため、OpenAI SDK の base_url を http://localhost:11434/v1 に差し替えるだけで多くのコードが動きます。既存の OpenAI 連携コードからローカル切り替えを試したい場合に便利です。
まとめ
本記事では、Ollama を使ったローカルLLM 入門の全工程を解説しました。インストール → モデル選定 → 基本操作 → REST API → Python 連携 → Modelfile → トラブルシューティングまで、実装ベースで一通り扱っています。要点は次の3点です。第一に、Ollama は MIT ライセンスのワンバイナリで、Mac/Windows/Linux いずれでも数分で導入できます。第二に、PC スペックに応じて Gemma 3・Qwen 3・Llama 4 を選び分けるのが現実的です。第三に、http://localhost:11434 の REST API を介して Python や任意の言語から呼び出せます。次のアクションは明確です。まずは ollama pull qwen3:8b を実行し、お手元の環境で対話を始めてみてください。
