モデルにアクセスする場所を指定する

Gemini API プロバイダをクリックして、このページでプロバイダ固有のコンテンツとコードを表示します。


Google の生成 AI モデルは、特定のリージョンで利用できます。Vertex AI Gemini API を使用するリクエストには、モデルにアクセスするロケーションを含める必要があります。Firebase AI Logic は、すべてのリクエストでデフォルトで us-central1 になります。

ほとんどの Gemini モデルでは、Vertex AI Gemini APIglobal ロケーションをサポートしています。つまり、リクエストはグローバル プール内の任意の場所にある使用可能なモデルによって処理されます。リクエストに global ロケーションを使用すると、モデルの容量上限に達することを回避し、「サービス過負荷」(503)エラーを減らすことができます。また、モデルによっては、global の場所の使用が必須になる場合があります。

位置情報を明示的に設定する必要があるのはいつですか?

Firebase AI Logic はすべてのリクエストで自動的にデフォルトで us-central1 に設定されるため、別のロケーションを使用する必要がある場合や使用したい場合は、コードで Vertex AI Gemini API バックエンド サービスの初期化時にロケーションを明示的に指定する必要があります。

モデルによっては、位置情報を明示的に設定することが必須となる場合があります。リクエストで、モデルが使用できないロケーションのモデルにアクセスしようとすると、モデル was not found or your project does not have access to it という 404 エラーが返されます。

  • Gemini プレビュー モデル: ロケーションを global に明示的に設定する必要があります(Live API プレビュー モデルを除く)。

  • Gemini 3.x モデル: Firebase AI Logic を使用する場合は、ロケーションを global に明示的に設定する必要があります。Firebase AI Logic は、useu のロケーションをまだサポートしていません。

  • Gemini 2.5 モデル: 位置情報を明示的に設定することは省略可能ですが、設定することをおすすめします。ロケーションを指定しない場合、デフォルトは us-central1 です。

  • Gemini Live API モデル: 位置情報を明示的に設定することは省略可能ですが、設定することをおすすめします。ロケーションを指定しない場合、デフォルトは us-central1 です。global のロケーションはサポートされていません。

このページの後半にある利用可能なすべてのロケーションのリストをご覧ください。

一般的な事実とベスト プラクティス

以下に、ロケーションに関する重要なポイントとベスト プラクティスを紹介します。

  • 容量上限は、モデルごと、リージョンごと、1 分あたりの上限です。

  • 容量上限に予期せず達しないようにするには、ロケーションを global に設定することを検討してください(モデルが global ロケーションをサポートしている場合)。

  • Firebase Remote Config を使用して、モデルにアクセスするロケーションを制御することを検討してください。これにより、アプリの新しいバージョンをリリースせずに場所を変更できます。

  • ユースケースでロケーションを global に設定することが適用できない場合やサポートされていない場合は、モデルにアクセスする場所を明示的に分散することを検討してください。たとえば、Firebase Remote Config を使用して、エンドユーザーの所在地に基づいて所在地を設定できます。

コードサンプル

Firebase AI Logic は、すべてのリクエストで自動的に us-central1 にデフォルト設定されます。別のロケーションを使用する必要がある場合や、別のロケーションを使用したい場合は、コードで Vertex AI Gemini API バックエンド サービスの初期化時にロケーションを明示的に指定する必要があります。

これらのサンプルでは Gemini モデルへのアクセスを示していますが、Imagen モデルにアクセスするときにロケーションを指定することもできます。

LOCATION は、このページの後半にある利用可能なロケーションのリストから、ロケーション コード(globaleurope-west4 など)に置き換えます。

Swift

// ...

// Initialize the Vertex AI Gemini API backend service
// Specify a supported location for where you want to access the model
let ai = FirebaseAI.firebaseAI(backend: .vertexAI(location: "LOCATION"))

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "MODEL_NAME")

// ...

Kotlin

// ...

// Initialize the Vertex AI Gemini API backend service
// Specify a supported location for where you want to access the model
val model = Firebase.ai(backend = GenerativeBackend.vertexAI(location = "LOCATION"))
                        .generativeModel("MODEL_NAME")

// ...

Java

// ...

// Initialize the Vertex AI Gemini API backend service
// Specify a supported location for where you want to access the model
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.vertexAI("LOCATION"))
        .generativeModel("MODEL_NAME");

GenerativeModelFutures model = GenerativeModelFutures.from(ai);

// ...

Web

// ...

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Vertex AI Gemini API backend service
// Specify a supported location for where you want to access the model
const ai = getAI(firebaseApp, { backend: new VertexAIBackend('LOCATION') });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: 'MODEL_NAME' });

// ...

Dart

// ...

// Initialize the Vertex AI Gemini API backend service
// Specify a supported location for where you want to access the model
final ai = await FirebaseAI.vertexAI(location: 'LOCATION');

// Create a `GenerativeModel` instance with a model that supports your use case
final model = ai.generativeModel(model: 'MODEL_NAME');

// ...

Unity

// ...

// Initialize the Vertex AI Gemini API backend service
// Specify a supported location for where you want to access the model
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.VertexAI(location: "LOCATION"));

// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "MODEL_NAME");

// ...

モデルが使用できないロケーションを指定すると、モデル was not found or your project does not have access to it という 404 エラーが発生します。

利用できるロケーション

Google Cloudリージョンを使用します。Google Cloud は、お客様が Vertex AI の生成 AI のすべての一般提供機能に指定したリージョンにのみ顧客データを保存します。

Vertex AI の生成 AI は、次のリージョンで利用できます。一部のモデルや特定のバージョンは、地域によってはご利用いただけない場合があります(利用可能な地域の詳細については、Google Cloud ドキュメントをご覧ください)。

次の点にご注意ください。

  • Firebase AI Logic のデフォルトは us-central1 の場所です。

  • すべての Gemini プレビュー モデル(Live API モデルを除く)で、サポートされている唯一のロケーションは global です。

  • Firebase AI Logic を使用して Gemini 3.x モデルにアクセスする場合、サポートされているロケーションは global のみです。Firebase AI Logic は、us ロケーションと eu ロケーションをまだサポートしていません。

  • すべての Live API モデルとすべての Imagen モデルで、global のロケーションはサポートされていません。

グローバル

  • global

米国

  • オハイオ州コロンバス(us-east5
  • テキサス州ダラス(us-south1
  • アイオワ(us-central1
  • ラスベガス、ネバダ州(us-west4
  • モンクスコーナー、サウスカロライナ州(us-east1
  • 北バージニア(us-east4
  • オレゴン(us-west1

カナダ

  • モントリオール(northamerica-northeast1

南アメリカ

  • サンパウロ、ブラジル(southamerica-east1

ヨーロッパ

  • ベルギー(europe-west1
  • フィンランド(europe-north1
  • フランクフルト、ドイツ(europe-west3
  • ロンドン、イギリス(europe-west2
  • マドリード、スペイン(europe-southwest1
  • ミラン、イタリア(europe-west8
  • オランダ(europe-west4
  • パリ、フランス(europe-west9
  • ワルシャワ、ポーランド(europe-central2
  • チューリッヒ、スイス(europe-west6

アジア太平洋

  • 彰化県、台湾(asia-east1
  • 香港、中国(asia-east2
  • ムンバイ、インド(asia-south1
  • ソウル、韓国(asia-northeast3
  • シンガポール(asia-southeast1
  • シドニー、オーストラリア(australia-southeast1
  • 東京、日本(asia-northeast1

中東

  • ダンマーム、サウジアラビア(me-central2
  • ドーハ、カタール(me-central1
  • テルアビブ、イスラエル(me-west1