TL;DR
Gemma 4 は2026年4月3日にリリースされ、Ollama v0.20.0 は同日サポートを追加しました。デフォルトの gemma4:e4b モデルは2つのコマンドでプルして実行できます。このガイドでは、セットアップ、モデル選択、API使用法、Apidog を使用したローカルの Gemma 4 エンドポイントのテスト方法について説明します。
はじめに
Google は Gemma 4 を2026年4月2日にリリースしました。24時間以内に、Ollama は v0.20.0 をリリースし、4つのモデルバリアントすべてを完全にサポートしました。
これは開発者にとって重要です。Gemma 4 は単なるマイナーアップデートではありません。Gemma 3 の 20.8% と比較して、AIME 2026 で 89.2% のスコアを記録しています。コーディングベンチマークスコアは Codeforces で 110 ELO から 2150 に跳ね上がりました。ネイティブ関数呼び出し、設定可能な思考モード、そして大規模バリアントでは 256K のコンテキストウィンドウが利用できます。これらすべてが、独自のハードウェア上で動作します。
APIを活用したアプリを構築している場合、ローカルセットアップは有用なものをもたらします。それは、モックデータの生成、テストシナリオの作成、APIレスポンスの検証を、リモートサーバーにデータを送信することなく、高速かつプライベートなAIレイヤーで行えることです。
このガイドでは、インストールから最初のローカルAPI呼び出しまで、すべてを網羅しています。
Gemma 4 の新機能
Gemma 4 は、大きく異なる機能を備えた4つのモデルバリアントを出荷します。

Gemma 3 との主な違いは次のとおりです。
推論とコーディング。31BモデルはLiveCodeBench v6で80%に達します。以前のGemma 3 27Bは29.1%でした。この差は段階的な改善ではなく、性能のクラスが異なります。
Mixture-of-Experts (MoE) アーキテクチャ。26BバリアントはMoEを使用し、推論中にアクティブなパラメータはわずか40億です。わずかな計算コストで、ほぼフラッグシップレベルの品質が得られます。
長いコンテキスト。E2BおよびE4Bエッジモデルは128Kトークンをサポートします。26Bおよび31Bモデルは256Kまで拡張され、大規模なコードベースやAPI仕様ファイルを単一のプロンプトに収めるのに十分です。
ネイティブ関数呼び出し。すべてのGemma 4モデルは、箱から出してすぐに構造化されたツール使用をサポートします。関数スキーマを定義すると、モデルはそのスキーマに一致する有効なJSONを返します。プロンプトエンジニアリングのトリックは不要です。
音声および画像入力。E2BおよびE4Bモデルは、テキストに加えて音声および可変解像度の画像入力を受け付けます。
思考モード。モデルの連鎖的思考推論をリクエストごとに有効または無効にできます。単純な検索の場合はスキップし、複雑なコーディングや数学の問題の場合はオンにします。
Gemma 4 モデルバリアントの解説
プルする前に、ハードウェアに適したモデルを選択してください。
| モデル | ディスク上のサイズ | コンテキスト | アーキテクチャ | 最適な用途 |
|---|---|---|---|---|
gemma4:e2b |
7.2 GB | 128K | Dense | ラップトップ、エッジ、音声/画像 |
gemma4:e4b (デフォルト) |
9.6 GB | 128K | Dense | ほとんどの開発者 |
gemma4:26b |
18 GB | 256K | MoE (4B アクティブ) | GBあたりの最高品質 |
gemma4:31b |
20 GB | 256K | Dense | 最高品質 |
e4b モデルは、ollama run gemma4 を実行したときのデフォルトです。これは、10GB以上のVRAMを持つほとんどの消費者向けGPUに適合し、Apple Siliconのユニファイドメモリで合理的に高速に動作します。
26b MoE バリアントは隠れた逸品です。トークンごとにアクティブになるパラメータが40億しかないため、推論速度は4Bモデルに近く、品質は13Bモデルに近いものとなります。20GB以上のRAMがある場合は、試してみる価値があります。
前提条件
Ollama v0.20.0 以降が必要です。それ以前のバージョンは Gemma 4 をサポートしていません。
現在のバージョンを確認してください。
ollama --version
古いバージョンを使用している場合は、更新してください。
# macOS
brew upgrade ollama
# Linux
curl -fsSL https://ollama.com/install.sh | sh
Windowsでは、ollama.comから最新のインストーラをダウンロードしてください。
ハードウェア要件:
gemma4:e2b: 最小8GB RAM (16GB推奨)gemma4:e4b: 10GB VRAM または 16GB ユニファイドメモリgemma4:26b: 20GB+ RAM またはユニファイドメモリgemma4:31b: 24GB VRAM または 32GB ユニファイドメモリ
Gemma 4 のインストールと実行
デフォルトのe4bモデルをプルして実行します。
ollama run gemma4

これにより、初回実行時に約9.6GBがダウンロードされ、その後インタラクティブセッションに移行します。メッセージを入力してテストしてください。
>>> クライアントエラーのHTTPステータスコードは何ですか?
特定のバリアントを実行するには:
# エッジモデル、より小さなフットプリント
ollama run gemma4:e2b
# MoEモデル、サイズに対する最高の品質比
ollama run gemma4:26b
# フル・フラッグシップ
ollama run gemma4:31b
すぐに実行せずにプルするには:
ollama pull gemma4
ollama pull gemma4:26b
持っているモデルを確認します:
ollama list
ローカルで Gemma 4 API を使用する
Ollama はローカル REST API を http://localhost:11434 で公開しています。モデルがプルされると、インタラクティブCLIを起動することなく、任意のHTTPクライアントからアクセスできます。
補完の生成
curl http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "gemma4",
"prompt": "Write a JSON response for a user profile API endpoint",
"stream": false
}'
チャット補完 (OpenAI互換エンドポイント)
OllamaはOpenAIチャット形式もサポートしています:
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gemma4",
"messages": [
{
"role": "user",
"content": "Generate a realistic JSON mock for an e-commerce order API response"
}
]
}'
Python クライアント
import requests
def ask_gemma4(prompt: str, model: str = "gemma4") -> str:
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": prompt,
"stream": False
}
)
response.raise_for_status()
return response.json()["response"]
result = ask_gemma4("List the fields a payment API response should include")
print(result)
OpenAI Python SDK を使用する
OllamaのAPIはOpenAI互換であるため、公式SDKをローカルインスタンスに向けることができます。
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # SDKに必要ですがOllamaでは使用されません
)
response = client.chat.completions.create(
model="gemma4",
messages=[
{
"role": "system",
"content": "You generate realistic API response data in JSON format."
},
{
"role": "user",
"content": "Generate a sample response for a GET /users/{id} endpoint"
}
]
)
print(response.choices[0].message.content)
Gemma 4 で関数呼び出しを使用する
Gemma 4はネイティブの関数呼び出しをサポートしています。ツールスキーマを定義すると、モデルは関数シグネチャに一致する構造化されたJSONを返します。
これは、APIをプログラムで呼び出すエージェントを構築するのに役立ちます。
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama"
)
tools = [
{
"type": "function",
"function": {
"name": "get_user",
"description": "Retrieve a user by ID from the API",
"parameters": {
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"description": "The unique user ID"
},
"include_orders": {
"type": "boolean",
"description": "Whether to include order history"
}
},
"required": ["user_id"]
}
}
}
]
response = client.chat.completions.create(
model="gemma4",
messages=[
{"role": "user", "content": "Get user 42 with their order history"}
],
tools=tools,
tool_choice="auto"
)
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.function.name) # get_user
print(tool_call.function.arguments) # {"user_id": 42, "include_orders": true}
モデルは自然言語から正しいパラメータを抽出し、スキーマに一致する有効なJSONオブジェクトを返します。正規表現による解析や出力のクリーンアップは必要ありません。
思考モードの有効化
テストシナリオの作成やAPI仕様の分析のような複雑なタスクでは、Gemma 4 の連鎖思考推論を有効にできます。
response = client.chat.completions.create(
model="gemma4",
messages=[
{
"role": "user",
"content": "Design a complete test scenario for a payment processing API with edge cases"
}
],
extra_body={"think": True}
)
print(response.choices[0].message.content)
単一のモック値を生成するような単純なリクエストの場合は、思考モードをスキップしてください。不要なレイテンシが増加します。
Apidog で Gemma 4 API レスポンスをテストする
ローカルの Gemma 4 インスタンスが起動したら、API エンドポイントを体系的にテストしたいと思うでしょう。Apidog は追加のツールなしでこれを処理します。

Ollama API 仕様をインポートする。Ollamaのローカルサーバーは標準的なRESTエンドポイントを公開しています。Apidogで新しいプロジェクトを作成し、ベースURL http://localhost:11434 を追加します。
エンドポイントを定義する。テストするエンドポイントを追加します。
- シングルターンの補完のための
POST /api/generate - 複数ターンのチャットのための
POST /v1/chat/completions - 利用可能なモデルをリストするための
GET /api/tags
テストシナリオを設定する。Apidog では、テストシナリオは複数のリクエストをアサーションで連結します。Gemma 4 のテストの場合:
- ステップ1:
GET /api/tagsを実行し、モデルリストにgemma4が出現することを確認します。 - ステップ2:
POST /api/generateを実行してプロンプトを送信し、responseフィールドが空でないことを確認します。 - ステップ3:
POST /v1/chat/completionsを実行してチャットメッセージを送信し、返信が期待される形式と一致することを確認します。
Apidog の「変数抽出プロセッサ」を使用して、ステップ2からのレスポンスをキャプチャし、ステップ3に渡します。これにより、マルチターンの会話フローを自動的にテストできます。
レスポンススキーマを検証する。Apidog の契約テストは、API レスポンスを OpenAPI 仕様に対して検証します。各 Gemma 4 エンドポイントの期待されるレスポンス形式を定義し、Ollama の API 形式における破壊的変更を捕捉するために、モデルの更新後に契約テストを実行します。
並行開発のための Smart Mock。もしバックエンドが Gemma 4 のレスポンスに依存しているが、フロントエンドチームがローカルモデルを待たずに作業を進めたい場合、Apidog の Smart Mock は、API 仕様からスキーマに準拠したレスポンスを自動的に生成します。Gemma 4 のレスポンスがどのように見えるかを定義すれば、Smart Mock がオンデマンドでリアルなデータを提供します。
Gemma 4 によるマルチモーダル入力
E2B および E4B モデルは、テキストと並行して画像を受け入れます。画像を base64 エンコードされた文字列として渡します。
import base64
with open("api_diagram.png", "rb") as f:
image_data = base64.b64encode(f.read()).decode()
response = client.chat.completions.create(
model="gemma4:e4b",
messages=[
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{image_data}"
}
},
{
"type": "text",
"text": "Describe the API flow shown in this diagram and identify potential error paths"
}
]
}
]
)
これは、アーキテクチャ図の分析、API ドキュメントのスクリーンショットのレビュー、または API が処理する必要のある画像からのデータ抽出に役立ちます。
よくある問題と修正
Ollamaがモデルが見つからないと表示する。まず ollama pull gemma4 を実行するか、ollama list で確認してください。
CPUでの推論が遅い。Gemma 4 は GPU 最適化されています。CPUのみのマシンでは、e4b モデルで1秒あたり1〜3トークンを期待してください。より良いCPU性能を得るには gemma4:e2b を使用してください。
メモリ不足エラー。ollama ps で利用可能な VRAM またはユニファイドメモリを確認してください。モデルが大きすぎる場合は、gemma4:e2b (7.2 GB) に切り替えてください。
Apple Silicon でモデルが読み込まれない。Ollama 0.20.0 で Apple Silicon 向けの MLX サポートがプレビュー版として追加されました。古い Ollama バージョンを使用している場合は、まず更新してください。
ポートがすでに使用されている。ポート11434を他の何かが使用している場合、カスタムポートを設定してください: OLLAMA_HOST=0.0.0.0:11435 ollama serve。
レスポンスが途中で切れてしまう。リクエストでコンテキストウィンドウを増やしてください。JSONボディに "options": {"num_ctx": 8192} を追加します。
Gemma 4 と他のローカルモデルの比較
| モデル | ほとんどのユーザーにとって最適なサイズ | コンテキスト | 関数呼び出し | コーディングベンチマーク |
|---|---|---|---|---|
| Gemma 4 | e4b (9.6 GB) | 128K-256K | ネイティブ | LiveCodeBench 80% |
| Llama 3.3 | 70B-Q4 (40 GB) | 128K | ネイティブ | LiveCodeBench 約60% |
| Qwen3.6-Plus | 72B-Q4 (44 GB) | 128K | ネイティブ | 強力 |
| Mistral Small | 24B (14 GB) | 128K | ネイティブ | 中程度 |
Gemma 4の利点はMoE 26Bバリアントです。18GBというサイズで、推論時にアクティブなパラメータが4Bという、ほぼフラッグシップレベルの品質を提供し、このリストにある他の大規模な密なモデルよりも優れたトークン/秒を実現します。
純粋なコーディングタスクでは、31Bモデルははるかに大規模なモデルと競争力があります。エッジデプロイメントやラップトップでは、e2b が8GB未満で動作します。
結論
Gemma 4 と Ollama の組み合わせは、現在利用可能な最も高性能なローカルセットアップの1つです。インストールは2つのコマンドで完了します。デフォルトのモデルはほとんどの開発者のマシンで動作します。そして、Gemma 3 からの推論とコーディング品質の飛躍的な向上は目覚ましいものがあります。
ollama run gemma4 から始めて、Apidog で API をテストし、エンドポイントが期待どおりに動作することを確認してから、上記のモデル表に基づいてワークロードに適切なバリアントを選択してください。
Gemma 4 の上に API を活用した機能を構築するチームにとって、ローカル推論と Apidog の Smart Mock およびテストシナリオを組み合わせることで、リモート依存関係なしに完全な開発ループが実現します。
よくある質問
新しいバージョンがリリースされたとき、Ollama で Gemma 4 を更新するにはどうすればよいですか?再度 ollama pull gemma4 を実行してください。Ollama は最新バージョンを確認し、変更された部分のみをダウンロードします。
GPU のないマシンで Gemma 4 を実行できますか?はい、できますが、速度は遅くなります。CPU では1秒あたり1〜3トークンを想定してください。e2b モデルが CPU のみのマシンで最も実用的な選択肢です。
gemma4:e2b と gemma4:e4b の違いは何ですか?どちらもエッジハードウェア向けに最適化された高密度な「効果的」モデルです。E4B はより多くのパラメーターを持ち、複雑な推論をよりよく処理します。E2B はより小さく、音声入力に対応しています。ほとんどのテキストタスクでは、e4b がより良いデフォルトです。
Gemma 4 は LangChain および LlamaIndex と連携しますか?はい。どちらのフレームワークも Ollama をバックエンドとしてサポートしています。Ollama プロバイダを http://localhost:11434 に向け、モデル名として gemma4 を使用してください。
ローカルの Gemma 4 API は OpenAI API 向けに書かれたコードと互換性がありますか?ほとんどの場合、互換性があります。Ollama の /v1/chat/completions エンドポイントは OpenAI 形式に従っています。base_url を http://localhost:11434/v1 に、api_key を任意の空ではない文字列に切り替えてください。ほとんどの OpenAI SDK 呼び出しは変更なしで動作します。
Gemma 4 の思考モードをどのように使用しますか?OpenAI SDK を使用する場合は extra_body パラメータに "think": true を渡し、直接 API 呼び出しを行う場合はトップレベルの JSON ボディに "think": true を追加してください。単純なタスクでは、レイテンシを減らすために無効にしてください。
Gemma 4 をネットワーク上の他のマシンに提供できますか?はい。OLLAMA_HOST=0.0.0.0:11434 ollama serve を使用して Ollama を起動すると、他のマシンはポート11434であなたのIPアドレスにアクセスできます。
API開発タスクに最適な Gemma 4 モデルは何ですか?モックデータの生成やテストケースの作成には、e4b が速度と品質のバランスが取れています。複雑な仕様分析やアーキテクチャレビューには、26b MoE モデルが、完全な31Bのコストなしに、より良い結果をもたらします。
