1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【比較】PaLMからGeminiへ:Vertex AIの生成AI API設計がどう変わったか(+OpenAIとの違いも整理)

Posted at

はじめに

2023〜2024年にかけて、Google Cloud の Generative AI は大きな転換期を迎えました。
それが「PaLM API → Gemini API」の移行です。

PaLM時代は、用途ごとに異なるクラスを使う方式でした。
しかしGemini登場以降は、統一API+モデル指定方式へと変化しています。


🏗️ PaLM時代の構造(旧)

PaLM APIでは、用途別にクラスが分かれていました。
たとえば以下のように:

from vertexai.language_models import TextGenerationModel

model = TextGenerationModel.from_pretrained("text-bison@002")
response = model.predict("AIと機械学習の違いを教えて")
print(response.text)
  • TextGenerationModel … テキスト生成用
  • ChatModel … チャット形式の応答
  • CodeGenerationModel … コード生成
  • EmbeddingModel … ベクトル生成

いわば、「タスク特化API」の世界観でした。


🚀 Gemini登場後の構造(新)

Gemini以降では、上記のような用途別クラスは廃止され、
統一クラス GenerativeModel に集約されました。

from vertexai.generative_models import GenerativeModel

model = GenerativeModel("gemini-2.0-flash-001")
response = model.generate_content(
    "AIと機械学習の違いを教えて",
    generation_config={
        "temperature": 0.7,
        "max_output_tokens": 512,
        "top_p": 0.9,
        "top_k": 40,
    }
)

for chunk in response:
    print(chunk.text)

ポイントは以下の通りです。

観点 PaLM Gemini
API構造 タスク特化クラス(Text/Chat/Code) 統一クラス GenerativeModel
モデル指定 text-bison など用途ごと gemini-2.0-pro, gemini-2.0-flash など
メソッド predict() generate_content()
出力 .text 構造化されたレスポンス(マルチモーダル対応)

💬 モデル指定の考え方

Gemini系では「どのGeminiを使うか」をモデル名で明示します。
用途はモデルによって変わります。

モデル名 主な用途 備考
gemini-2.0-flash 高速・低コスト推論 軽量推論やチャット用途
gemini-2.0-pro 高品質推論 精度重視のタスク
gemini-1.5-pro 画像・コード対応 マルチモーダル
code-gecko(Codey) コード生成特化 Geminiとは別系統
textembedding-gecko ベクトル生成 RAG用途

Gemini自体がマルチモーダル(テキスト+画像+コード理解)なので、
テキスト生成・チャットなどは1モデルで完結します。
ただし、コード生成は依然として Codey 系を利用します。


⚙️ API呼び出し構造の変化

これにより、コードの保守性が大幅に向上しました。
ひとつのクラスでマルチモーダル処理が扱えるため、
アプリ側はモデル名を差し替えるだけで新モデルに移行できます。


🤝 OpenAI APIとの比較

実は、OpenAIも同じ方向性をとっています。
違いを比較すると以下のようになります。

項目 Google Vertex AI OpenAI
統一API GenerativeModel chat.completions.create()
モデル指定 gemini-2.0-pro gpt-4o, gpt-4.1
マルチモーダル対応 Gemini 1.5〜 GPT-4o で対応
コード生成 code-gecko(別系統) GPT-4oでも対応可能
Embedding textembedding-gecko text-embedding-3-large

つまり:

🔸 Google:モデルは統一API+一部専門モデル併存
🔹 OpenAI:統一API+単一モデルで多用途対応

方向性はほぼ同じですが、Googleのほうが明示的なモデル分離設計を残しています。


🧩 まとめ

要点 内容
✅ PaLMは「用途別クラス」方式だった
✅ Geminiは「モデル指定」方式に統一された
✅ コード生成など一部はCodey系を併用
✅ OpenAIも同様に「統一API+モデル指定」方式へ収束中
✅ 開発者は“どのモデルを使うか”を中心に設計する時代へ

🪄 余談:実務で意識すべきポイント

  • gemini-2.0-flash はかなり高速。Chat用途ならこちら推奨。
  • RAG用途では textembedding-gecko がVertex標準。
  • モデル指定文字列(例:gemini-2.0-pro)はModel Gardenで確認可能。
  • 既存の TextGenerationModel などは今後非推奨方向。

🔗 参考リンク


まとめの一言

PaLM時代の「テキスト用APIを選ぶ」から、
Gemini時代は「モデルを指定するだけ」に。

アーキテクチャのシンプル化はもちろん、
マルチモーダル対応の前提設計になった点が最大の変化です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?