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レイヤーで行えます。
💡 Gemma 4 をローカルで実行できるようになれば、Apidog の Smart Mock で、スキーマからリアルな API レスポンスデータを生成できます。API の形式を一度定義すれば、以降のモックデータ生成は自動化され、スキーマ準拠のテストデータでローカルモデルの実験がスムーズに進められます。
このガイドでは、インストールから最初のローカルAPI呼び出しまで、すべての手順を解説します。
Gemma 4 の新機能
Gemma 4 は4つのモデルバリアントを提供します。
Gemma 3 からの主な進化ポイント:
- 推論とコーディング: 31BモデルはLiveCodeBench v6で80%達成。旧27Bは29.1%。
- Mixture-of-Experts (MoE) アーキテクチャ: 26BバリアントはMoEを採用し、推論時のパラメータ数は4Bのみ。高速かつ高品質。
- 長いコンテキスト: E2B/E4Bは128Kトークン、26B/31Bは256Kトークンまで対応。
- ネイティブ関数呼び出し: 関数スキーマを定義するだけで、構造化JSONを返す。
- 音声・画像入力: E2B/E4Bは音声や画像も入力可能。
- 思考モード: リクエストごとに連鎖的思考推論のON/OFF切り替えができる。
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またはApple Siliconで高速動作。 -
26bMoE バリアントは、20GB+ RAMで高速かつ高品質。要件を満たすならおすすめ。
前提条件
- Ollama v0.20.0 以上必須。
- バージョン確認:
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 は http://localhost:11434 でREST APIを公開。CLI不要でAPI呼び出し可能。
補完の生成
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互換)
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 を利用
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 必須だが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を返します。
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}
思考モードの有効化
複雑なタスクやAPI仕様の分析には、思考モードを有効にしましょう。
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 インスタンス起動後、Apidog でエンドポイントを体系的にテストできます。
ステップバイステップ
Ollama API 仕様をインポート
Apidogで新規プロジェクトを作成し、http://localhost:11434をベースURLに設定します。-
エンドポイント定義
-
POST /api/generate(シングルターン補完用) -
POST /v1/chat/completions(チャット用) -
GET /api/tags(モデル一覧取得用)
-
-
テストシナリオ設定
- ステップ1:
GET /api/tagsでgemma4の存在確認 - ステップ2:
POST /api/generateでプロンプト送信、responseフィールド非空を検証 - ステップ3:
POST /v1/chat/completionsでレスポンス形式を検証
- ステップ1:
Apidogの「変数抽出プロセッサ」でレスポンス連携も可能。
レスポンススキーマ検証
OpenAPI仕様に基づき契約テスト設定。モデル更新時にも破壊的変更を検知。Smart Mock の活用
Apidog の Smart Mock で、Gemma 4 レスポンス形式を事前に定義→フロント・バックエンド並行開発やモックデータ生成に即活用可能。
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仕様の画像レビューにも活用できます。
よくある問題と修正
Ollamaがモデルが見つからない:
ollama pull gemma4で取得、ollama listで確認。CPUでの推論が遅い:
GPU推奨。CPUのみならgemma4:e2bを選択。メモリ不足:
ollama psでVRAM/RAMチェック。小型モデルに切り替え。Apple Siliconでモデルが動かない:
Ollama 0.20.0以上へアップデート。ポート競合:
OLLAMA_HOST=0.0.0.0:11435 ollama serveで別ポート指定。レスポンスが途中で切れる:
"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 | ネイティブ | 中程度 |
- MoE 26Bバリアントは18GBで高品質・高速推論。
- 31Bはコーディングタスクで大規模モデルと競合可能。
- 軽量モデル(e2b)はエッジやラップトップ向け。
結論
Gemma 4 + Ollama は現時点で最高クラスのローカルAIセットアップです。
インストールはわずか2コマンドで、ほとんどの開発者PCでデフォルトモデルが動作。
ollama run gemma4 で起動し、Apidog でAPIテスト→最適バリアント選択でワークロードに合わせた運用を。
Gemma 4上でAPI駆動機能を開発するなら、ローカル推論・ApidogのSmart Mock・テストシナリオを組み合わせて、リモート依存ゼロの開発ループが構築できます。
よくある質問
Q: 新しいバージョンが出た時の更新方法は?
A: ollama pull gemma4 で差分のみ取得します。
Q: GPUなしでも動きますか?
A: 可能ですが低速です。CPUのみなら e2b モデル推奨。
Q: e2b と e4b の違いは?
A: 両者とも高密度なエッジ向けモデル。E4Bはパラメータ数多く、複雑な推論に強い。E2Bは小型かつ音声入力対応。多くのテキスト処理にはE4B推奨。
Q: LangChain/LlamaIndexと連携可能?
A: どちらもOllamaバックエンド対応。http://localhost:11434 を指定し、モデル名に gemma4 を設定。
Q: OpenAI API向けコードと互換性は?
A: 多くの場合互換。Ollamaの /v1/chat/completions を利用し、base_urlとapi_keyを調整。
Q: 思考モードの使い方は?
A: OpenAI SDKでは extra_body に "think": true、直接APIの場合はリクエストJSONに "think": true を追加。
Q: 他マシンからAPI公開は?
A: OLLAMA_HOST=0.0.0.0:11434 ollama serve で外部公開。
Q: API開発タスク向きのモデルは?
A: モック生成・テストは e4b、複雑な分析は 26b MoE がおすすめ。



Top comments (0)