このページでは、OpenAI SDK 用に設計されたコードを Google Gen AI SDK に移行して、Gemini Enterprise Agent Platform で Gemini モデルを利用する方法について説明します。
移行の概要
次のノートブックは、openai ライブラリから google-genai ライブラリへの実用的な移行を示しています。
API と構文のマッピング
次の表に、OpenAI SDK と Google Gen AI SDK のコア コンポーネント、メソッド、パラメータを比較します。
| 機能 | OpenAI SDK(openai) |
Google Gen AI SDK(google-genai) |
|---|---|---|
| クライアントの初期化 | client = OpenAI(api_key=...) |
client = genai.Client(vertexai=True, ...) |
| 生成メソッド | client.chat.completions.create |
client.models.generate_content |
| ストリーミング メソッド | stream=True(パラメータ) |
client.models.generate_content_stream(メソッド) |
| ユーザー入力 | messages=[{"role": "user", "content": "..."}] |
contents="..."(文字列)または contents=[...](リスト) |
| システム指示 | messages=[{"role": "system", "content": "..."}] |
config=types.GenerateContentConfig(system_instruction=...) |
| レスポンスへのアクセス | response.choices[0].message.content |
response.text |
| チャットの履歴 | 手動リスト管理(messages.append) |
client.chats.create()(ステートフル オブジェクト) |
| 最大トークン数 | max_tokens |
max_output_tokens(config 内) |
| Temperature | temperature |
temperature(config 内) |
| JSON モード | response_format={"type": "json_object"} |
response_mime_type="application/json"(config 内) |
インストールとセットアップ
OpenAI ライブラリをアンインストールし、Google Gen AI SDK をインストールします。
pip install google-genai
2. 認証と初期化
OpenAI は API キーを使用しますが、Agent Platform は Identity and Access Management(IAM)認証情報(アプリケーションのデフォルト認証情報)を使用します。プロジェクト ID とロケーションを明示的に定義する必要があります。
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
次のように、GOOGLE_GENAI_USE_ENTERPRISE、GOOGLE_CLOUD_PROJECT、GOOGLE_CLOUD_LOCATION を設定します。
export GOOGLE_GENAI_USE_ENTERPRISE=true
export GOOGLE_CLOUD_PROJECT='your-project-id'
export GOOGLE_CLOUD_LOCATION='global'
構成が完了したら、パラメータを渡さずにクライアントを初期化できます。
from google import genai
client = genai.Client()
サンプルコード
次のコードサンプルは、一般的なタスクにおける OpenAI SDK と Google Gen AI SDK の違いを示しています。
シングルターンのテキスト生成
次のコードサンプルは、テキストを生成する方法を示しています。Google Gen AI SDK では、システム指示は入力リストのメッセージ ロールではなく、構成パラメータとして処理されます。
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
パラメータを使用したテキスト生成
次のコードサンプルは、構成パラメータの定義の違いを示しています。Google Gen AI SDK では、temperature、max_output_tokens(以前は max_tokens)、JSON 形式などのパラメータは GenerateContentConfig オブジェクトにグループ化されます。
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
チャット(マルチターン)
次のコードサンプルは、チャット履歴の管理の違いを示しています。Google Gen AI SDK では、ステートフル chat オブジェクトが提供されるため、この処理が簡素化されます。一方、OpenAI では、メッセージをリストに手動で追加する必要があります。
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
ストリーミング
次のコードサンプルは、レスポンスのストリーミングの違いを示しています。Google Gen AI SDK では、ブール値フラグではなく、特定のメソッド(generate_content_stream)を使用します。
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
次のステップ
- Gemini Enterprise Agent Platform で OpenAI ライブラリを使用する方法を学習する。
- OpenAI の互換性のコード例を確認する。
- Google Gen AI SDK クイックスタートを始める。