メインコンテンツまでスキップ

Ollama で AI モデルをローカル実行する

中級

フロンティアモデルはクラウド上にありますが、オープンウェイトモデル(Llama、Mistral、Qwen、DeepSeek、Gemma)の一群は、自分のノートパソコンやサーバーにダウンロードして動かせます。Ollama はそのいちばん簡単な方法です。インストールは 1 回、コマンドは 1 つで、モデルがローカルで動き出します。このページでは、ゼロからモデルを動かし、コードから呼び出すところまでを扱い、あわせてトレードオフも押さえます。7B のローカルモデルがフロンティアモデルと同じように振る舞うとは期待しないようにするためです。

What you'll learn
  • なぜモデルをローカルで動かすのか、そしてクラウドのフロンティアモデルと比べた正直なトレードオフを知る
  • Ollama をインストールし、2 つのコマンドで最初のモデルを動かす
  • 基本の CLI を使う:pull、run、list、ps、rm、stop
  • Ollama の OpenAI 互換 API 経由で、ローカルモデルをコードから呼び出す
  • RAM の必要量、モデルサイズ、量子化を理解し、手元のマシンで実際に動くモデルを選ぶ
  • LM Studio(GUI)のほうが出発点として向いている場面を知る

なぜモデルをローカルで動かすのか(そして、いつ動かさないのか)​

自分のハードウェアでモデルを動かすと、4 つのものが手に入ります。

  • プライバシー — プロンプトもデータも手元のマシンの外に出ません。規制の厳しい分野や機微な分野のチームがローカルモデルを選ぶ理由です。(モデルの選び方にあるプライバシー/セルフホストの分岐を参照してください。)
  • オフライン — インターネットも API も不要で、障害への依存もありません。モデルはディスク上のただのファイルです。
  • コスト — トークンごとの請求がありません。ダウンロードしてしまえば、動かすのは「無料」です(支払うのは電気代とハードウェアであって、API 費用ではありません)。大規模運用でトークン支出が制約になるなら、ローカルが有利になることがあります。
  • 制御 — 正確なバージョンを固定し、挙動をカスタマイズし、レート制限や利用規約の想定外の変更なしに組み込めます。

正直なトレードオフ:

  • 能力の差。 ノートパソコンで動かせるモデル(パラメータ数 1B〜14B)は、難しい推論、長いコンテキスト、エージェント的なタスクでは、クラウドのフロンティアモデルとは同じ水準ではありません。日常的なタスクの多くでは差は小さいですが、最も難しいタスクでは大きな差になります。
  • ハードウェア。 大きくて高性能なモデルほど、一般的なマシンより多くの RAM/VRAM を必要とします。選ぶのは、世の中で最高のモデルではなく、ハードウェアが動かせる最大のモデルであることが多いのです。
  • 運用は自分で行う。 マネージドなスケーリングも自動アップグレードもありません。それが制御の対価です。

長続きする定番のパターンはこうです。クラウドモデルと同じ方法(「モデルの選び方」参照)で、小さな評価を使って試作して選び、プライベート/オフライン/大規模でも安く済む作業にはローカルを使い、追加の能力が本当に必要なタスクにはフロンティア API を使います。

Ollama をインストールして最初のモデルを動かす​

Guided walkthrough1 of 4
  1. macOS と Windows:ollama.com/download からインストーラーをダウンロードして実行します。Linux:公式のインストールスクリプトを使います(下記)。これで ollama コマンドとローカルのバックグラウンドサービスがインストールされます。

Linux でのインストール(macOS/Windows は代わりにダウンロードしたインストーラーを使います):

curl -fsSL https://ollama.com/install.sh | sh

小さなモデルを取得して実行する(最初の一歩に最適)

ollama run gemma4:e2b

この 1 つのコマンドで gemma4:e2b をダウンロードし、対話チャットを開始します。これは Ollama 自身のクイックスタートが最初に使うモデルで、実効パラメータ数が約 2.3B、ディスク上で数 GB のエッジ向け Gemma 4 バリアントです。まだチャットせずにダウンロードだけしたい場合は、代わりに ollama pull を使います。

基本の CLI​

数個のコマンドでほとんどすべてをまかなえます。全一覧は ollama --help で確認できます。

# Download a model without starting a chat
ollama pull qwen3

# Start an interactive chat (downloads first if needed)
ollama run qwen3

# One-shot: pass the prompt inline, get the answer, exit
ollama run qwen3 "Summarize the CAP theorem in two sentences."

# List models you've downloaded
ollama list

# Show models currently loaded in memory
ollama ps

# Stop a running/loaded model (frees memory)
ollama stop qwen3

# Delete a downloaded model to reclaim disk
ollama rm qwen3

対話式の ollama run セッション内では、/bye で終了し、/? でセッション内コマンドを確認できます。実際にモデルを提供するバックグラウンドサービスは ollama serve で起動します(デスクトップアプリなら自動で起動してくれます)。

コードから呼び出す(OpenAI 互換 API)​

ここが、ローカルモデルをアプリで本当に役立つものにする部分です。Ollama のバックグラウンドサービスは、デフォルトポート 11434 の http://localhost:11434 でローカル HTTP API を公開します。独自のネイティブエンドポイント(/api/generate、/api/chat)に加えて、/v1 に OpenAI 互換レイヤーがあるので、OpenAI SDK 向けに書かれたコードの大半は、2 行を変えるだけでローカルモデルに対して動きます。

curl による生の HTTP(ネイティブエンドポイント):

curl http://localhost:11434/api/chat -d '{
"model": "gemma4:e2b",
"messages": [
{ "role": "user", "content": "Why is the sky blue?" }
],
"stream": false
}'

公式の OpenAI SDK を使った Python からの呼び出し — base_url を Ollama に向け、空でない任意の api_key を渡すだけです(Ollama はこのフィールドを必須としますが、値は無視します):

from openai import OpenAI

client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama", # required by the SDK, ignored by Ollama
)

response = client.chat.completions.create(
model="gemma4:e2b",
messages=[
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Explain gradient descent in two sentences."},
],
)

print(response.choices[0].message.content)

OpenAI 互換なので、ホスト型 API に対して使うのと同じパターンがそのまま使えます。ストリーミングやツール使用 / 関数呼び出しも含まれ、ローカルでもクラウドと同じように動きます(モデルがそれを実際に得意としている場合に限ります)。Ollama の /v1 レイヤーがカバーするのは、/v1/chat/completions、/v1/completions、/v1/responses、/v1/models(および /v1/models/{model})、/v1/embeddings です。

ハードウェア、モデルサイズ、量子化​

モデルにつく数字 — 1B、7B、8B、70B — は、そのパラメータ数(単位は十億)です。パラメータが多いほど、一般に高性能で、メモリも多く必要になります。実際に何を動かせるかの現実的な限界は RAM(GPU の場合は VRAM)です。

量子化は、これを普通のマシンで可能にする重要な工夫です。モデルのウェイトはもともと高精度(例:16 ビット)で保存されていますが、品質の低下をわずか(多くは気づかない程度)に抑えながら約 4 ビットまで圧縮できます。Ollama はほとんどのモデルをデフォルトで量子化した状態で提供しており、だから数十億パラメータのモデルが数 GB に収まるのです。おおまかな目安は次のとおりです(個々のモデルのページで確認してください):

  • 約 1B〜3B のモデル:最近のほとんどのノートパソコンで快適に動きます(数 GB の RAM)。
  • 約 7B〜8B のモデル:性能と実行しやすさのバランスがよい最適点です。空き RAM は数 GB 見込んでください。
  • 約 13B〜14B のモデル:かなりスペックの高いマシンが必要です。
  • 約 70B 以上のモデル:大量の RAM か強力な GPU を備えたワークステーション/サーバーが必要で、一般的なノートパソコンの守備範囲ではありません。

実践的な手順:まず小さなモデル(gemma4:e2b)で始めてワークフローを端から端まで確認し、それからハードウェアで快適に動く範囲で最大のモデルへサイズを上げていきます。世の中で最大のモデルではありません。

ローカルモデルの用語集
Enter キーまたはスペースキーでカードを裏返します。左右の矢印キーでカードを移動できます。用語を表示しました。
1 / 6

LM Studio:GUI という選択肢​

コマンドラインが苦手なら、LM Studio があります。これは(macOS、Windows、Linux 向けの)デスクトップアプリで、同じ仕事をグラフィカルなインターフェースで行います。オープンモデルを探してダウンロードし、組み込みの UI でチャットでき、Ollama と同様にローカルの OpenAI 互換サーバーを起動して、コードから接続することもできます。開発者でない人や、ターミナルよりポイント&クリックを好む人には入りやすい入口です。スクリプト化できる CLI と軽量なバックグラウンドサービスが欲しいなら、Ollama のほうが向いています。どちらも同じ種類のオープンウェイトモデルを動かすので、このページの概念はそのまま通用します。

理解度チェック

0/4
  1. モデルをローカルで動かすことと、クラウドのフロンティアモデルを使うことを比べたとき、最も大きな正直なトレードオフは何ですか?
  2. モデルを(必要なら)ダウンロードし、さらにそのモデルとのチャットも開始するコマンドはどれですか?
  3. OpenAI SDK のコードからローカルモデルを呼び出すには、何を設定しますか?
  4. 数十億パラメータのモデルが、わずか数 GB の RAM に収まるのはなぜですか?
Key takeaways
  • ローカル = プライバシー + オフライン + トークン単位のコストなし + 制御。トレードオフは、実在する能力の差とハードウェアの限界です。
  • 動かすのに必要なのは 2 つのコマンド:Ollama をインストールし、ollama run gemma4:e2b を実行します。
  • 基本の CLI:pull(ダウンロード)、run(チャット)、list、ps、stop、rm — これでほぼ足ります。
  • OpenAI 互換エンドポイント経由でコードから呼び出す:base_url は http://localhost:11434/v1、api_key は空でない任意の値。
  • パラメータ数と量子化が、手元のマシンでモデルを動かせるかを決めます。小さく始めて、快適に動く範囲までサイズを上げましょう。
  • GUI がお好みなら?LM Studio がポイント&クリックで同じ仕事をこなし、ローカルの OpenAI 互換サーバーも公開します。

出典と参考資料​

次へ​