OllamaはローカルLLMを動かすためのツールとして、世界中の開発者に支持されている。ターミナルでワンコマンドを実行するだけでAIモデルが動き始め、OpenAI互換APIとして外部ツールとの連携もシームレスに行える。2026年3月現在、バージョンはv0.17.xに到達し、ネイティブデスクトップアプリ、Thinking Mode、構造化出力、Responses APIなど、機能は大幅に拡充された。本記事では、Ollamaのインストールから実践的な活用法、カスタムモデルの作成、Docker運用まで体系的に解説する。
Ollamaとは──ローカルLLMをワンコマンドで動かすツール
Ollamaは、オープンソースのLLM(大規模言語モデル)をローカル環境で簡単に実行するためのツールだ。macOS、Windows、Linuxのすべてに対応しており、DeepSeek、Qwen、Gemma、Llama、Mistralなど主要なオープンソースモデルをワンコマンドで実行できる。
Ollamaが多くの開発者に選ばれている理由を整理すると以下のとおりだ。
| 特徴 | 内容 |
|---|---|
| ワンコマンド実行 | ollama run モデル名だけでモデルのダウンロードと実行が完了 |
| 豊富なモデル対応 | DeepSeek、Qwen 3、Llama 4、Gemma 3、Phi-4、Mistral 3など主要モデルを網羅 |
| OpenAI互換API | /v1/chat/completionsエンドポイントでChatGPTの代替として利用可能 |
| 軽量設計 | バックグラウンド常駐でリソース消費が少ない |
| カスタマイズ | Modelfileで独自のシステムプロンプトやパラメータを設定可能 |
| マルチプラットフォーム | macOS / Windows / Linux / Dockerに対応 |
内部的には、llama.cppをベースとした推論エンジンを使用しており、GGUFフォーマットの量子化モデルを効率的に実行する。Flash Attentionがデフォルトで有効化されており、推論速度は年々向上している。
ローカルLLMの基本概念については「ローカルLLM入門」で詳しく解説しているので、LLMをローカルで動かす意義やPCスペックの目安はそちらを参照してほしい。
インストール手順──3つのOSすべてに対応
Ollamaのインストールは、どのOSでも数分で完了する。
| OS | インストール方法 | 備考 |
|---|---|---|
| macOS | 公式サイト(ollama.com)からアプリをダウンロードし、Applicationsフォルダに移動 | Apple Siliconネイティブ対応、統合メモリを活用 |
| Windows | 公式サイトからインストーラー(.exe)をダウンロードし実行 | WSL不要、ネイティブ動作 |
| Linux | ターミナルで curl -fsSL https://ollama.com/install.sh | sh | systemdサービスとして自動登録 |
インストール後、ターミナルで以下のコマンドを実行して動作確認する。
ollama --version
バージョン番号が表示されれば準備完了だ。続けて、最初のモデルを実行してみよう。
ollama run qwen3:8b
初回はモデルファイル(約5GB)のダウンロードが行われるが、2回目以降は即座に起動する。対話型のプロンプトが表示されたら、日本語で質問を入力してみてほしい。
基本コマンド一覧──日常的に使う操作を網羅
Ollamaの操作はすべてCLI(コマンドライン)で完結する。日常的に使うコマンドを用途別に整理した。
| コマンド | 説明 | 使用例 |
|---|---|---|
ollama run | モデルを実行してチャット開始 | ollama run deepseek-r1:8b |
ollama pull | モデルを事前ダウンロード(実行せず) | ollama pull llama4-scout |
ollama list | ダウンロード済みモデルの一覧表示 | ollama list |
ollama rm | モデルを削除してストレージ解放 | ollama rm gemma3:4b |
ollama show | モデルの詳細情報を表示 | ollama show qwen3:8b |
ollama cp | モデルを複製(カスタム用) | ollama cp qwen3:8b my-assistant |
ollama serve | APIサーバーを手動起動 | ollama serve |
ollama ps | 現在ロード中のモデルを表示 | ollama ps |
ollama stop | ロード中のモデルを停止 | ollama stop deepseek-r1:8b |
チャット中に使えるコマンドもある。/byeで終了、/set systemでシステムプロンプトを変更、/show infoでモデル情報を表示できる。
複数のモデルを切り替えながら使う場合は、ollama pullで事前にダウンロードしておくと切り替えがスムーズだ。
おすすめモデルと用途別の選び方
Ollamaで利用できるモデルは数百に上るが、用途に応じた適切な選択が重要だ。2026年3月時点のおすすめモデルを用途別に整理した。
| 用途 | おすすめモデル | パラメータ数 | 必要VRAM(Q4) | 特徴 |
|---|---|---|---|---|
| 汎用チャット | qwen3:8b | 8B | 6 GB | 119言語対応、思考モード切替 |
| 汎用チャット(高品質) | llama4-scout | 17B active | 8 GB | 10Mトークンのコンテキスト |
| 推論・数学 | deepseek-r1:8b | 8B | 6 GB | Chain-of-Thought推論 |
| 推論(高性能) | deepseek-r1:32b | 32B | 20 GB | コーディング・数学に強い |
| コーディング | qwen3-coder:8b | 8B | 6 GB | コード生成特化 |
| 軽量・エッジ | gemma3:4b | 4B | 3 GB | マルチモーダル対応 |
| 軽量・CPU動作 | phi4-mini | 3.8B | 3 GB | CPU動作可能 |
| 日本語 | elyza:jp-8b | 8B | 6 GB | 日本語特化モデル |
| マルチモーダル | gemma3:27b | 27B | 18 GB | 画像+テキスト入力対応 |
| フロンティア | mistral-large3 | MoE | 24 GB+ | Apache 2.0、256Kコンテキスト |
初心者には、qwen3:8bまたはdeepseek-r1:8bがおすすめだ。8GBのVRAMで動作し、日本語の応答品質も実用的なレベルにある。
Thinking Mode(思考モード)に対応したモデルでは、推論過程を透明に確認できる。DeepSeek R1やQwen 3で利用可能で、数学やコーディングの問題を解く際に特に有効だ。
# 思考モードが有効なモデルの実行例
ollama run deepseek-r1:8b
思考モードが有効な場合、出力にはモデルの推論過程(思考プロセス)と最終回答が分離して表示される。
OpenAI互換APIの活用──既存ツールとの連携
Ollamaの最大の強みの一つが、OpenAI互換のREST APIを提供していることだ。Ollamaが起動している状態で、http://localhost:11434/v1をエンドポイントとして利用できる。
対応しているAPIエンドポイントは以下のとおりだ。
| エンドポイント | 説明 | 対応バージョン |
|---|---|---|
/v1/chat/completions | ChatGPT互換のチャットAPI | 全バージョン |
/v1/completions | テキスト補完API | 全バージョン |
/v1/embeddings | 埋め込みベクトル生成API | 全バージョン |
/v1/models | 利用可能モデル一覧 | 全バージョン |
/v1/responses | OpenAI Responses API互換 | v0.13.3以降 |
構造化出力(Structured Outputs)にも対応しており、JSON Schemaを指定することで型安全なレスポンスを取得できる。
import openai
client = openai.OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 任意の文字列でOK
)
response = client.chat.completions.create(
model="qwen3:8b",
messages=[{"role": "user", "content": "Pythonの特徴を3つ教えて"}]
)
print(response.choices[0].message.content)
このAPI互換性により、以下のような外部ツールとシームレスに連携できる。
- Open WebUI: ブラウザベースのチャットUI。ChatGPTライクな操作感でローカルLLMを利用可能
- Continue.dev: VS Code/JetBrains向けAIコーディング拡張。Ollamaをバックエンドとして無料でコード補完
- AnythingLLM: RAGパイプラインを構築するオールインワンツール
- LangChain / LlamaIndex: LLMアプリケーション開発フレームワーク
- Dify: ノーコードでAIチャットボットを構築するプラットフォーム
AIコーディングツールとの連携については「AIコーディングツール完全比較」で各ツールの特徴を解説しているので参考にしてほしい。
Modelfileでカスタムモデルを作成する
Ollamaの強力な機能の一つが、Modelfileによるカスタムモデルの作成だ。既存のベースモデルに対して、システムプロンプト、パラメータ、テンプレートを設定した独自モデルを定義できる。
Modelfileの基本構文は以下のとおりだ。
| 命令 | 説明 | 必須 |
|---|---|---|
| FROM | ベースとなるモデルを指定 | 必須 |
| SYSTEM | システムプロンプトを設定 | 任意 |
| PARAMETER | 推論パラメータを調整 | 任意 |
| TEMPLATE | プロンプトテンプレートを定義 | 任意 |
| ADAPTER | LoRAアダプターを適用 | 任意 |
| MESSAGE | 会話履歴を事前設定 | 任意 |
たとえば、日本語テクニカルライターとして動作するカスタムモデルは以下のように作成する。
FROM qwen3:8b
SYSTEM """あなたはテクノロジーメディアの編集者です。
技術的な正確性を保ちながら、非エンジニアにもわかりやすい日本語で回答してください。
回答は簡潔に、箇条書きや表を活用してください。"""
PARAMETER temperature 0.7
PARAMETER num_ctx 8192
このファイルをModelfileとして保存し、以下のコマンドでカスタムモデルを作成する。
ollama create tech-writer -f Modelfile
ollama run tech-writer
主要なPARAMETERオプションは以下のとおりだ。
| パラメータ | デフォルト値 | 説明 |
|---|---|---|
| temperature | 0.8 | 応答のランダム性(0.0-2.0)。低いほど確定的 |
| num_ctx | 2048 | コンテキストウィンドウサイズ(トークン数) |
| top_p | 0.9 | 累積確率によるサンプリング制御 |
| top_k | 40 | 上位k個のトークンからサンプリング |
| repeat_penalty | 1.1 | 繰り返し表現のペナルティ |
| num_predict | -1 | 生成する最大トークン数(-1で無制限) |
num_ctxの値を大きくすると、より長い文書を一度に処理できるが、VRAMの消費量も増える。8Bモデルで32Kコンテキストを使用する場合、KVキャッシュだけで約4.5GBのVRAMが追加で必要になる点に注意が必要だ。
Docker環境での運用──チームやサーバー向けの構築方法
OllamaはDockerコンテナとしても実行でき、チームでの共有やサーバーへのデプロイに適している。
GPUパススルーを有効にしたDocker Composeの設定例は以下のとおりだ。
services:
ollama:
image: ollama/ollama
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
environment:
- OLLAMA_HOST=0.0.0.0
- OLLAMA_NUM_PARALLEL=4
- OLLAMA_MAX_LOADED_MODELS=2
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
volumes:
ollama_data:
NVIDIA GPUを使用する場合は、事前にNVIDIA Container Toolkitのインストールが必要だ。
主要な環境変数は以下のとおりだ。
| 環境変数 | 説明 | デフォルト値 |
|---|---|---|
| OLLAMA_HOST | リッスンするアドレス | 127.0.0.1 |
| OLLAMA_MODELS | モデル保存ディレクトリ | ~/.ollama/models |
| OLLAMA_NUM_PARALLEL | 並列リクエスト数 | 1 |
| OLLAMA_MAX_LOADED_MODELS | 同時ロードモデル数 | 1 |
| OLLAMA_GPU_OVERHEAD | GPU予約メモリ(バイト) | 0 |
| OLLAMA_FLASH_ATTENTION | Flash Attentionの有効/無効 | true |
Docker環境でOLLAMA_HOST=0.0.0.0を設定すると、コンテナ外からのアクセスが可能になる。これにより、Open WebUIなどの別コンテナからOllamaにアクセスできる。
よくあるトラブルと解決策
Ollamaの利用中に遭遇しやすい問題と、その対処法を整理する。
| トラブル | 原因 | 解決策 |
|---|---|---|
| モデルの応答が極端に遅い | VRAMが不足し、システムRAMにオーバーフローしている | より小さいモデルまたはQ4量子化版に切り替える。ollama psでVRAM使用量を確認 |
| GPUが認識されない | CUDAドライバーが未インストール or バージョン不一致 | nvidia-smiでドライバー確認。CUDA 12.x以上を推奨 |
| ポート11434が使用中 | 別のOllamaインスタンスが既に起動している | ollama psで確認後、ollama stopで停止。Linuxではsudo systemctl stop ollama |
| 日本語の応答品質が低い | 英語中心で学習されたモデルを使用している | Qwen 3、Gemma 3、ELYZAなど多言語/日本語対応モデルに切り替え |
| コンテキストが途中で切れる | num_ctxのデフォルト値(2048)が小さい | ollama run モデル名 --num_ctx 8192で拡張。VRAMに余裕があればさらに拡張可能 |
| モデルのダウンロードが途中で止まる | ネットワーク接続の問題 | 再度ollama pullを実行すると途中から再開される |
特にVRAMのオーバーフローは最も多い問題だ。モデルがVRAMに収まりきらないと推論速度が約30倍低下する。ollama psコマンドでVRAM使用量を確認し、搭載VRAMの90%以内に収まるモデルサイズを選ぶことが快適な利用の鍵になる。
まとめ──Ollamaはローカルに最適化AI環境を構築する
Ollamaは、ローカルLLMを手軽に始めるためのエントリーポイントであると同時に、カスタムモデルの作成やAPI連携、Docker運用まで対応する本格的なプラットフォームだ。
すぐに始めたい人は、以下の3ステップを実行するだけでよい。
- 公式サイト(ollama.com)からOllamaをインストール
ollama run qwen3:8bでモデルを起動- 日本語で質問を入力して応答を確認
さらに活用を深めたい場合は、Modelfileでカスタムモデルを作成し、Open WebUIやContinue.devなどのツールと連携することで、自分だけのAI環境を構築できる。RAG(検索拡張生成)と組み合わせれば、社内文書を活用したQ&Aボットの構築も可能だ。
データが手元から離れない安心感と、API課金ゼロの自由。Ollamaは、その両方を実現する最も手軽な方法だ。
出典・参考
- Ollama公式サイト: https://ollama.com/
- Ollama公式ドキュメント: https://docs.ollama.com/
- Ollama GitHubリポジトリ: https://github.com/ollama/ollama
- Ollama Modelfileリファレンス: https://docs.ollama.com/modelfile
- Ollama Docker構築ガイド: https://docs.ollama.com/docker
- Ollama API リファレンス: https://docs.ollama.com/api/introduction
- llama.cpp GitHubリポジトリ: https://github.com/ggml-org/llama.cpp

