Lesson CH00-L03
GLA vs Vertex AI
Google AI Studio (GLA) と Vertex AI の違い・使い分け。
- 読了目安
- 9 min
- Colab目安
- 15 min
- 合計
- 24 min
- 前提
- 同期 vs 非同期
関連: 公式ドキュメント
一行サマリ
PydanticAI で Gemini を呼ぶ口は 2 つ ある — 'google-gla:' (Google AI Studio) と 'google-vertex:' (Vertex AI)。学習・個人開発は GLA、業務・コンプライアンスは Vertex AI が基本方針。
ヒーロー: 同じモデルへの 2 つの入口
物理的には同じ Gemini モデルにアクセスしますが、認証の仕組み・データの扱い・課金経路 が別物です。
概念: 何が違うのか
両者は 同じ Gemini モデル を提供する別経路です。違いは「どのアカウント・どの認証で・どんな契約条件で使うか」に集約されます。
主要な違い
| 観点 | GLA (google-gla:) | Vertex AI (google-vertex:) |
|---|---|---|
| 認証 | API キー 1 本 (環境変数 GOOGLE_API_KEY) | Google Cloud プロジェクト + ADC (gcloud auth application-default login) もしくは Service Account |
| 無料枠 | あり (1 分あたりリクエスト数の上限内で無料) | なし (GCP の従量課金、新規アカウントには $300 クレジット) |
| データの扱い | 入出力が 将来のモデル改善に利用される可能性あり (Free tier。Paid tier では利用しない) | 入出力は モデル学習に利用されない (GCP の標準契約) |
| リージョン | グローバル (隠蔽) | 自分で region を選ぶ (例: us-central1, asia-northeast1) |
| 新モデル投入 | 一般に 早い (新世代モデルは GLA に先行することが多い) | 後追い、ただしエンタープライズ機能 (Provisioned Throughput 等) は Vertex 側 |
| 想定ユーザー | 個人開発者 / プロトタイピング / 教育 | 業務システム / コンプライアンス要件あり / SLO が必要な本番 |
1 行でまとめると
- GLA = 「無料で気軽に試せる、ただしデータは将来のモデル改善に使われ得る (Free tier)」
- Vertex AI = 「GCP プロジェクトと認証セットアップは要るが、データは学習に使われず本番運用に向く」
コード: 違いはモデル指定だけ
Agent() の第 1 引数のプレフィックスを切り替えるだけで、PydanticAI 側のコードはほぼ同じです。
GLA を使う (これまで使ってきた形)
import os
from pydantic_ai import Agent
# API キーを環境変数に入れるだけ
# Colab では `userdata.get('GOOGLE_API_KEY')` で読む
os.environ['GOOGLE_API_KEY'] = '...'
agent = Agent(
'google-gla:gemini-3-flash-preview',
instructions='日本語で答えてください。',
)
print(agent.run_sync('こんにちは').output)Vertex AI を使う (本番想定)
from pydantic_ai import Agent
from pydantic_ai.providers.google_vertex import GoogleVertexProvider
from pydantic_ai.models.google import GoogleModel
# 事前に: gcloud auth application-default login を済ませておく
# あるいは GOOGLE_APPLICATION_CREDENTIALS で Service Account JSON を指す
provider = GoogleVertexProvider(
project_id='my-gcp-project-id', # GCP プロジェクト ID
region='us-central1', # モデルが提供されている region
)
model = GoogleModel('gemini-3-flash-preview', provider=provider)
agent = Agent(
model,
instructions='日本語で答えてください。',
)
print(agent.run_sync('こんにちは').output)ポイント:
- 「
'google-vertex:gemini-3-flash-preview'」のような 省略記法 も用意されているが、project_id/regionを明示したい場合は上のようにProvider+Modelを組み立てるのが確実 - コードロジックは GLA とまったく同じ。差は認証セットアップとモデル指定文字列だけ
- アプリの大半は両方のプロバイダで動かせるよう、
MODEL定数を環境変数から読むのが定石
決定木: いつどちらを選ぶか
実用的には:
- 本ガイドの全 34 レッスン — GLA で十分
- 個人プロダクト / 副業 / 学習用 SaaS — GLA (Paid tier に上げると学習利用も無効化)
- 顧客データを扱う業務システム — Vertex AI 一択
- 既に GCP に乗っている組織 — Vertex AI (請求もログも GCP で一元化)
モデル名の対応
両プロバイダで使えるモデル名は同じ命名規則 (gemini-3-flash-preview 等) ですが、新世代の出現タイミングが違います。
| モデル | GLA での提供 | Vertex AI での提供 |
|---|---|---|
| gemini-3-flash-preview | ✅ 早期 | ✅ 後追い (通常 1〜数週間) |
| gemini-3-pro-preview | ✅ 早期 | ✅ 後追い |
| gemini-2.5-flash | ✅ Stable | ✅ Stable |
| gemini-2.5-pro | ✅ Stable | ✅ Stable |
新モデルを試したいだけなら GLA、本番で安定運用したい既存モデルなら Vertex AI、と覚えておくと選びやすいです。
まとめ
- GLA と Vertex AI は 同じ Gemini モデルへの 2 つの入口。違いは認証・データ扱い・課金経路
- 学習・個人開発は GLA で十分。Paid tier に上げれば入出力データも学習利用されない
- 業務・本番・コンプライアンス要件があれば Vertex AI。region 指定 + ADC 認証
- コード上の差はモデル指定文字列とプロバイダ初期化だけ。ロジックは共通
これで Setup チャプター (Ch0) は完結です。次の Ch1「Core: Agents」 からは、Agent の本体部分 — 静的・動的 instructions、Reflection、静的型チェック — に踏み込みます。
Colab で実際に動かす
本レッスンの内容を Google Colab 上で実行できるノートブックを用意しています。下のボタンから自分のColab環境に開けます (要 Google アカウント / GOOGLE_API_KEY)。
notebooks/ch00/03-gla-vs-vertex.ipynb