Firebase SDK の Vertex AI を使用して Gemini API を使ってみる


このガイドでは、選択したプラットフォームの Vertex AI in Firebase SDK を使用して、アプリから直接 Vertex AI Gemini API を呼び出す方法について説明します。

このガイドは、Vertex AI in Firebase SDK を使用して Imagen モデルにアクセスする際にも使用できます。

前提条件

このガイドは、Flutter を使用したアプリ開発に精通していることを前提としています。

  • 開発環境と Flutter アプリが次の要件を満たしていることを確認します。

    • Dart 3.2.0 以降
  • (省略可)サンプルアプリを確認する。

    サンプルアプリをダウンロードする

    SDK を簡単に試したり、さまざまなユースケースの完全な実装を確認したり、独自の Flutter アプリがない場合はサンプルアプリを使用したりできます。サンプルアプリを使用するには、Firebase プロジェクトに接続する必要があります。

ステップ 1: Firebase プロジェクトを設定してアプリを Firebase に接続する

Firebase プロジェクトと Firebase に接続されたアプリがすでにある場合

  1. Firebase コンソールで、[Gemini を使用した構築] ページに移動します。

  2. [Vertex AI in Firebase] カードをクリックして、次のタスクを完了するためのワークフローを開始します。

  3. このガイドの次のステップに進んで、SDK をアプリに追加します。

Firebase プロジェクトと Firebase に接続されたアプリがまだない場合

  1. Firebase コンソールにログインする

  2. [プロジェクトを作成] をクリックし、次のいずれかのオプションを使用します。

    • オプション 1: 「プロジェクトの作成」ワークフローの最初のステップで新しいプロジェクト名を入力して、完全に新しい Firebase プロジェクトを(およびその基盤となる Google Cloud プロジェクトを自動的に)作成します。

    • オプション 2: 「プロジェクトの作成」ワークフローの最初のステップで、プルダウン メニューから Google Cloud プロジェクト名を選択して、既存の Google Cloud プロジェクトに「Firebase を追加」します。

    プロンプトが表示されたら、Vertex AI in Firebase SDK を使用するように Google Analytics を設定する必要はありません

  3. Firebase コンソールで、[Gemini を使用した構築] ページに移動します。

  4. [Vertex AI in Firebase] カードをクリックして、次のタスクを完了するためのワークフローを開始します。

  1. 必要なコマンドライン ツールをインストールします。

    1. まだインストールしていない場合は、Firebase CLI をインストールします。

    2. Google アカウントで Firebase にログインするには、次のコマンドを実行します。

      firebase login
      
    3. 任意のディレクトリで次のコマンドを実行して、FlutterFire CLI をインストールします。

      dart pub global activate flutterfire_cli
      
  2. Firebase を使用するようにアプリを構成します。

    FlutterFire CLI を使用して、Flutter アプリを Firebase に接続するように構成します。

    Flutter プロジェクト ディレクトリで、次のコマンドを実行して、アプリの構成ワークフローを開始します。

    flutterfire configure
    

    flutterfire configure ワークフローは、次のことを行います。

    • Flutter アプリでサポートされているプラットフォーム(iOS、Android、ウェブ)を選択するよう求められます。選択したプラットフォームごとに、FlutterFire CLI によって Firebase プロジェクトに Firebase アプリが新規作成されます。

      既存の Firebase プロジェクトを使用するか、Firebase プロジェクトを新規作成するかを選択します。既存の Firebase プロジェクトにアプリがすでに登録されている場合、FlutterFire CLI は、現在の Flutter プロジェクト構成に基づいて、アプリのマッチングを試みます。

    • Firebase 構成ファイル(firebase_options.dart)を作成し、Flutter アプリの lib/ ディレクトリに追加します。

  3. このガイドの次のステップでは、Vertex AI in Firebase SDK をアプリに追加し、SDK と Gemini API の使用に固有の必要な初期化を完了します。


ステップ 2: SDK を追加する

Firebase プロジェクトが設定され、アプリが Firebase に接続されている(前の手順を参照)ので、Vertex AI in Firebase SDK をアプリに追加できます。

Flutter の Vertex AI in Firebase プラグイン(firebase_vertexai)は、Gemini モデルと Imagen モデルを操作するための API へのアクセスを提供します。

  1. Flutter プロジェクト ディレクトリで、次のコマンドを実行してコア プラグインと Vertex AI in Firebase プラグインをインストールします。

    flutter pub add firebase_core && flutter pub add firebase_vertexai
    
  2. lib/main.dart ファイルで、Firebase Core プラグイン、Vertex AI in Firebase プラグイン、および前に生成した構成ファイルをインポートします。

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_vertexai/firebase_vertexai.dart';
    import 'firebase_options.dart';
    
  3. また、lib/main.dart ファイルで、構成ファイルによってエクスポートされた DefaultFirebaseOptions オブジェクトを使用して Firebase を初期化します。

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Flutter アプリケーションを再ビルドします。

    flutter run
    

ステップ 3: Vertex AI サービスと生成モデルを初期化する

API 呼び出しを行い、Gemini モデルをプロンプトするには、Vertex AI サービスと生成モデルを初期化する必要があります。

import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

このスタートガイドを完了したら、ユースケースとアプリに適したモデルと(必要に応じて)ロケーションを選択する方法を学びます。

ステップ 4: モデルにプロンプト リクエストを送信する

アプリを Firebase に接続し、SDK を追加して、Vertex AI サービスと生成モデルを初期化したので、Gemini モデルにプロンプト リクエストを送信する準備が整いました。

generateContent() を使用すると、テキストのみのプロンプト リクエストからテキストを生成できます。

import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];

// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);

Google アシスタントの機能

サポートされているモデルの詳細

さまざまなユースケースで利用可能なモデルと、その割り当て料金について学びます。

Gemini API のその他の機能を試す

コンテンツ生成を制御する方法

Vertex AI Studio を使用して、プロンプトとモデル構成をテストすることもできます。


Vertex AI in Firebase の使用感に関するフィードバックを送信する