DEV Community

Cover image for Gemma 4をAPIバックエンドとして実行する方法
Akira
Akira

Posted on • Originally published at apidog.com

Gemma 4をAPIバックエンドとして実行する方法

TL;DR:

Googleは2026年4月にGemma 4をリリースしました。これはApache 2.0ライセンスの下で提供される4つのオープンモデルファミリーで、標準的なベンチマークで20倍のサイズのモデルを凌駕します。Gemma 4 APIはGoogle AI Studio、Vertex AIを通じて呼び出すか、OllamaとvLLMを使用してローカルで実行できます。ApidogのSmart Mockと組み合わせれば、OpenAPIスキーマから単一のモックルールを記述することなく、リアルなAPIレスポンスを自動生成できます。

はじめに

ほとんどのオープンソースAIモデルは、生の能力かデプロイのしやすさのどちらかを選択させます。ラップトップで実行するには大きすぎるモデルか、多段階の推論を処理できない小さなモデルのどちらかです。Gemma 4はそのトレードオフを打ち破ります。

今すぐApidogを試す

Gemma 4は、Google DeepMindがこれまでに開発した中で最も高性能なオープンモデルファミリーです。31B DenseモデルはArena AIのリーダーボードでオープンモデル全体の中で3位にランクされ、20倍のサイズの競合モデルを凌駕しています。26B Mixture of Experts(MoE)は6位を占めています。どちらも1つの80GB GPUで実行可能です。E2BおよびE4Bモデルは、スマートフォンやエッジデバイスで完全にオフラインで動作します。

API開発者にとって重要なのは、Gemma 4が関数呼び出し、構造化JSON出力、256Kのコンテキストウィンドウをネイティブサポートする点です。これにより、テストデータ生成やモック作成、APIレスポンス分析など、AIを活用したAPIツール構築の現実的な選択肢となります。

💡 TIP:

Gemma 4で構築し、AI生成レスポンスをOpenAPI仕様で検証したい場合は、ApidogのSmart Mockエンジンを使えばモックルール不要でスキーマ準拠なレスポンスを自動生成できます。Apidogを無料でダウンロードし、Gemma 4 APIワークフローに接続してください。

Gemma 4とは何か、そして新機能

Gemma 4はGoogle DeepMindのオープン言語モデル第4世代です。Gemmaシリーズは2024年初頭に始まり、累計4億回以上ダウンロードされ、10万以上のバリアントがコミュニティで構築されています。

Gemma 4 Lineup

Gemma 4はApache 2.0ライセンス下でリリースされており、商用利用や改変・再配布に制限がありません。AIインフラを完全にコントロールしたい企業・スタートアップにとって大きなメリットです。

主な新機能:

  • ネイティブなマルチモーダル入力: 画像・動画をすべてのGemma 4モデルがネイティブ処理。E2B・E4Bは音声入力も可能。
  • 長大なコンテキストウィンドウ: E2B/E4Bは128Kトークン、26B/31Bは256Kトークン対応。
  • エージェントワークフローサポート: ネイティブ関数呼び出し、JSON出力、システム命令対応。
  • 高度な推論能力: 数学・多段階命令追従のベンチマークでGemma 3世代から大幅強化。
  • 140超の言語対応: 140以上の言語でネイティブトレーニング済み。
  • Apache 2.0ライセンス: 商用利用の法的クリアランス。

ベンチマーク比較

Gemma 4モデルのバリアントと機能

GoogleはGemma 4を4つのモデルサイズでリリースしています。各バリアントの概要とユースケースは下表の通りです。

モデル パラメーター アクティブなパラメーター コンテキスト 最適用途
E2B 実効2B 約2B 128K モバイル/IoT/オフラインエッジ
E4B 実効4B 約4B 128K スマートフォン/Raspberry Pi等
26B MoE 合計26B 約3.8B 256K レイテンシ重視サーバータスク
31B Dense 31B 31B 256K 高品質・研究・ファインチューニング

E2B/E4BはMixture of Expertsアーキテクチャで省電力/低RAM運用が可能。26B MoEは低レイテンシと品質を両立したサーバー向け。31B Denseは品質重視ユースケース向けです。全モデルが命令チューニング済み・ベース形式で提供されます。

APIツール用途では26B MoEが速度/品質バランスで最適。複雑な構造化JSON出力や多段階ロジックが必要な場合は31B Denseがベストです。

Gemma 4 APIのセットアップ:ステップバイステップ

Gemma 4をAPI経由で利用する主な方法は3つあります。

オプション1:Google AI Studio(プロトタイプに最適)

  1. Google AI Studioで無料アカウント作成・APIキー取得。
  2. SDKインストール:

    pip install google-genai
    
  3. APIコール例:

    import google.generativeai as genai
    
    genai.configure(api_key="YOUR_API_KEY")
    
    model = genai.GenerativeModel("gemma-4-31b-it")
    
    response = model.generate_content(
        "Generate a JSON object for a user account with id, email, and created_at fields."
    )
    
    print(response.text)
    
  4. 構造化JSON出力(response_mime_type利用):

    import google.generativeai as genai
    import json
    
    genai.configure(api_key="YOUR_API_KEY")
    
    model = genai.GenerativeModel(
        "gemma-4-31b-it",
        generation_config={"response_mime_type": "application/json"}
    )
    
    prompt = """
    Generate 3 sample user objects for an e-commerce API. 
    Each user should have: id (integer), email (string), username (string), 
    created_at (ISO 8601 timestamp), and subscription_tier (free|pro|enterprise).
    Return as a JSON array.
    """
    
    response = model.generate_content(prompt)
    users = json.loads(response.text)
    print(json.dumps(users, indent=2))
    

オプション2:Ollamaによるローカルデプロイ

  1. Ollama公式からOllamaをインストール。
  2. モデルをプル:

    ollama pull gemma4
    
  3. モデルサーバー起動:

    ollama serve
    
  4. OpenAI互換APIで呼び出し:

    import requests
    import json
    
    response = requests.post(
        "http://localhost:11434/api/chat",
        json={
            "model": "gemma4",
            "messages": [
                {
                    "role": "user",
                    "content": "Generate a valid JSON response for a REST API /products endpoint. Include id, name, price, and stock fields."
                }
            ],
            "stream": False
        }
    )
    
    result = response.json()
    print(result["message"]["content"])
    

オプション3:関数呼び出しによるAPIオーケストレーション

Gemma 4はネイティブな関数呼び出しに対応しています。例えばOpenAPIスキーマ取得ツールを登録し、エンドポイントに応じた構造化出力が可能です。

import google.generativeai as genai

genai.configure(api_key="YOUR_API_KEY")

tools = [
    {
        "function_declarations": [
            {
                "name": "get_api_schema",
                "description": "与えられたエンドポイントパスのOpenAPIスキーマを取得する",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "endpoint_path": {
                            "type": "string",
                            "description": "APIエンドポイントパス、例: /users/{id}"
                        },
                        "method": {
                            "type": "string",
                            "enum": ["GET", "POST", "PUT", "DELETE", "PATCH"]
                        }
                    },
                    "required": ["endpoint_path", "method"]
                }
            }
        ]
    }
]

model = genai.GenerativeModel("gemma-4-31b-it", tools=tools)

response = model.generate_content(
    "GET /users/{id}エンドポイントをテストする必要があります。レスポンスはどのスキーマに従うべきですか?"
)

if response.candidates[0].content.parts[0].function_call:
    fc = response.candidates[0].content.parts[0].function_call
    print(f"Model called function: {fc.name}")
    print(f"With args: {dict(fc.args)}")
Enter fullscreen mode Exit fullscreen mode

Gemma 4を使ったAIパワードAPIモックの構築

API開発でリアルなモックデータが必要な場面は多いです。Gemma 4はOpenAPIスキーマから直接モックデータ生成が可能です。

import google.generativeai as genai
import json

genai.configure(api_key="YOUR_API_KEY")

model = genai.GenerativeModel(
    "gemma-4-31b-it",
    generation_config={"response_mime_type": "application/json"}
)

schema = {
    "type": "object",
    "properties": {
        "id": {"type": "integer"},
        "order_number": {"type": "string", "pattern": "^ORD-[0-9]{6}$"},
        "status": {"type": "string", "enum": ["pending", "shipped", "delivered", "cancelled"]},
        "total": {"type": "number", "minimum": 0},
        "items": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "product_id": {"type": "integer"},
                    "quantity": {"type": "integer", "minimum": 1},
                    "unit_price": {"type": "number"}
                }
            }
        },
        "created_at": {"type": "string", "format": "date-time"}
    }
}

prompt = f"""
注文管理APIのリアルなモックレスポンスを5つ生成してください。
各レスポンスは以下のJSONスキーマに正確に準拠する必要があります。
{json.dumps(schema, indent=2)}

データはリアルにしてください:リアルな価格、製品ID、様々なステータスを使用してください。
5つの注文オブジェクトのJSON配列として返してください。
"""

response = model.generate_content(prompt)
mock_orders = json.loads(response.text)
print(json.dumps(mock_orders, indent=2))
Enter fullscreen mode Exit fullscreen mode

Gemma 4はJSONスキーマ制約(列挙値、パターン、型制約)を理解し、リアルなAPI契約準拠データを生成します。APIエンドポイントごとにこのパターンを再利用可能です。

より高度なモックには、条件付きレスポンスや複数エンドポイント/バリエーションの一括生成もGemma 4の長大なコンテキストウィンドウで実現可能です。

ワークフロー例:

ApidogコレクションをOpenAPIとしてエクスポート→Gemma 4プロンプトに貼付→各エンドポイント10件分のリアルテストケースを自動生成。

Apidogを使ったGemma 4 APIレスポンスのテスト

Gemma 4生成データのスキーマ検証にはApidogのテストシナリオが有効です。

Apidogテストフロー

実装手順:

ステップ1:

Gemma 4 APIエンドポイントをApidogにインポートし、レスポンススキーマを定義。

ステップ2:

Smart Mockでスキーマからモックデータを自動生成。フィールド名や型を元にリアルな値が自動付与されます。

Smart Mock例

Smart Mockはカスタム値 > プロパティ名推測 > スキーマデフォルトの優先順で値を生成。必要な箇所だけ手動オーバーライドも可能です。

ステップ3:

Apidog「テスト」モジュールでテストシナリオを作成し、Gemma 4 API呼び出し→レスポンス検証の一連を自動化。

シナリオ例:

  1. 認証トークン取得
  2. Gemma 4 API呼び出し
  3. レスポンスからJSON抽出
  4. JSONをスキーマアサーションで検証
  5. 検証済みデータを次のAPIにPOST

ステップ4:

アサーションステップで、ステータスコードやJSON構造の検証を組み込み。Gemma 4レスポンスのcandidates[0].content.parts[0].textが正しく存在し、パース後JSONが仕様に一致するかを自動チェック。

ステップ5:

データ駆動テストにCSV/JSONを使用し、多様なプロンプトバリエーションを一括テスト。CI/CDでApidog CLIによる自動化も可。

この一連のセットアップは約15分で完了し、以降はコミットごとに自動テスト実行が可能です。

実世界でのユースケース

  • APIテストデータ生成:

    QAで必要なテストフィクスチャをGemma 4+OpenAPIスキーマで短時間・大量生成。

  • インテリジェントAPIモック:

    静的データではなく、検索クエリ等に応じた動的レスポンスをGemma 4で自動生成。

  • APIドキュメント自動生成:

    Gemma 4の256Kコンテキストにコードベースを投入し、未記載エンドポイントのOpenAPIドキュメント生成。

  • レスポンススキーマ検証:

    Gemma 4の推論でAPIレスポンスのスキーマ逸脱・型違反・欠損フィールドを自動発見。

  • 自動回帰テスト作成:

    API仕様+バグレポートを渡し、Gemma 4に各バグ検出用テストケースを自動作成させる。

API利用におけるGemma 4と他のオープンモデルの比較

モデル パラメーター コンテキスト JSON出力 関数呼び出し ライセンス
Gemma 4 31B 31B 256K ネイティブ ネイティブ Apache 2.0
Gemma 4 26B MoE 26B (3.8Bアクティブ) 256K ネイティブ ネイティブ Apache 2.0
Llama 3.3 70B 70B 128K プロンプト プロンプト Llama Community
Mistral 7B 7B 32K プロンプト 限定的 Apache 2.0
Qwen 2.5 72B 72B 128K ネイティブ ネイティブ Apache 2.0

Gemma 4はネイティブなJSON出力・関数呼び出し・大コンテキスト長をすべてサポート。Llama 3.3 70BはGemma 4より2倍の計算リソースを要し、Gemma 4 31Bは半分のサイズで上位にランク。Mistral 7Bは軽量ですがコンテキスト長が制限され、Qwen 2.5 72BはGemma 4同等の機能だがより高スペックが必要。

特にApache 2.0の法的明確性はプロダクト開発で重要。Gemma 4 26B MoEは速度重視、31Bは品質重視ユースケースに最適です。

結論

Gemma 4はAPIツール構築向けに、プロプライエタリアイAPIの実用的なオープン代替を提供します。Apache 2.0ライセンスとネイティブな関数呼び出し・JSON出力により、APIワークフローへ簡単かつ法的安全に統合可能です。

4モデルサイズでスマホからワークステーションまで網羅。26B MoEが多くのAPI開発でベストバランス。Apidogとの連携で、AI生成データ~スキーマ検証までのループを自動化し、AI駆動API開発・テストの実践的ワークフローを実現できます。

よくある質問

Gemma 4とは何ですか?

Google DeepMindが2026年4月にリリースした最新のオープン言語モデルファミリー。4つのサイズ(E2B、E4B、26B MoE、31B Dense)があり、Apache 2.0ライセンスで提供。31BモデルはArena AIリーダーボードでオープンモデル3位。

Gemma 4は無料で使えますか?

モデル重みはApache 2.0で無償利用可。自身での実行は計算資源コストのみ。Google AI Studio経由は無料枠あり、Vertex AIは通常のGoogle Cloud料金。

Gemma 4は構造化JSONを出力できますか?

はい。Google Generative AI SDKでresponse_mime_type: "application/json"を指定すれば、常に有効なJSON出力を得られます。

Gemma 4はAPI開発においてGPT-4oと比較してどうですか?

GPT-4oはプロプライエタリでローカル運用不可・APIコスト高。Gemma 4 31Bは無料でローカル実行でき、推論ベンチマークでGPT-4oと競合。データプライバシー・コスト重視のチームに最適。

自分のAPIデータでGemma 4をファインチューニングできますか?

はい。Google AI Studio/Vertex AI/Hugging Face TRL等でファインチューニング可能。ドメイン固有APIスキーマでの調整も容易。

Gemma 4をローカルで実行するにはどのようなハードウェアが必要?

31B/26Bモデルはbfloat16で80GB NVIDIA H1001枚、量子化版なら16~24GB VRAMのGPUで実行可。E4B/E2BはRaspberry Piやスマートフォン等エッジデバイスにも対応。

Gemma 4は関数呼び出しをサポートしていますか?

はい。全モデルでネイティブ関数呼び出しに対応。JSONスキーマでツール/引数を定義し、モデルが適宜呼び出します。

Gemma 4 APIレスポンスを自動的にテストするには?

ApidogのテストシナリオでAPIエンドポイントを設定→リクエスト→アサーション→CI/CD自動実行が可能です。

Top comments (0)