このガイドでは、選択したプラットフォームの Vertex AI in Firebase SDK を使用して、アプリから直接 Vertex AI Gemini API を呼び出す方法について説明します。
Gemini API を操作するためのその他のオプション
必要に応じて、Gemini API
の代替の「Google AI」バージョンをテストします。Google AI Studio と Google AI クライアント SDK を使用して、(制限内で、利用可能な場合)無料アクセスを取得します。これらの SDK は、モバイルアプリとウェブアプリのプロトタイピングのみに使用してください。Gemini API の仕組みに慣れたら、Vertex AI in Firebase SDK に移行(このドキュメント)します。Vertex AI in Firebase SDK には、Firebase App Check を使用した API の不正使用からの保護や、リクエスト内の大規模なメディア ファイルのサポートなど、モバイルアプリとウェブアプリに重要な多くの追加機能が含まれています。
必要に応じて、Vertex AI Gemini API サーバーサイドを呼び出す(Python、Node.js、Go など)
サーバーサイド Vertex AI SDK、Firebase Genkit、または Firebase Extensions を使用して Gemini API を呼び出す。
このガイドは、Vertex AI in Firebase SDK を使用して Imagen モデルにアクセスする際にも使用できます。
前提条件
このガイドは、Flutter を使用したアプリ開発に精通していることを前提としています。
開発環境と Flutter アプリが次の要件を満たしていることを確認します。
- Dart 3.2.0 以降
(省略可)サンプルアプリを確認する。
SDK を簡単に試したり、さまざまなユースケースの完全な実装を確認したり、独自の Flutter アプリがない場合はサンプルアプリを使用したりできます。サンプルアプリを使用するには、Firebase プロジェクトに接続する必要があります。
ステップ 1: Firebase プロジェクトを設定してアプリを Firebase に接続する
Firebase プロジェクトと Firebase に接続されたアプリがすでにある場合
Firebase コンソールで、[Gemini を使用した構築] ページに移動します。
[Vertex AI in Firebase] カードをクリックして、次のタスクを完了するためのワークフローを開始します。
プロジェクトをアップグレードして、従量課金制の Blaze のお支払いプランを使用します。
プロジェクトで必要な API(Vertex AI API と Vertex AI in Firebase API)を有効にします。
このガイドの次のステップに進んで、SDK をアプリに追加します。
Firebase プロジェクトと Firebase に接続されたアプリがまだない場合
Firebase プロジェクトを設定します
Firebase コンソールにログインする
[プロジェクトを作成] をクリックし、次のいずれかのオプションを使用します。
オプション 1: 「プロジェクトの作成」ワークフローの最初のステップで新しいプロジェクト名を入力して、完全に新しい Firebase プロジェクトを(およびその基盤となる Google Cloud プロジェクトを自動的に)作成します。
オプション 2: 「プロジェクトの作成」ワークフローの最初のステップで、プルダウン メニューから Google Cloud プロジェクト名を選択して、既存の Google Cloud プロジェクトに「Firebase を追加」します。
プロンプトが表示されたら、Vertex AI in Firebase SDK を使用するように Google Analytics を設定する必要はありません。
Firebase コンソールで、[Gemini を使用した構築] ページに移動します。
[Vertex AI in Firebase] カードをクリックして、次のタスクを完了するためのワークフローを開始します。
プロジェクトをアップグレードして、従量課金制の Blaze のお支払いプランを使用します。
プロジェクトで必要な API(Vertex AI API と Vertex AI in Firebase API)を有効にします。
アプリを Firebase に接続する
必要なコマンドライン ツールをインストールします。
まだインストールしていない場合は、Firebase CLI をインストールします。
Google アカウントで Firebase にログインするには、次のコマンドを実行します。
firebase login
任意のディレクトリで次のコマンドを実行して、FlutterFire CLI をインストールします。
dart pub global activate flutterfire_cli
Firebase を使用するようにアプリを構成します。
FlutterFire CLI を使用して、Flutter アプリを Firebase に接続するように構成します。
Flutter プロジェクト ディレクトリで、次のコマンドを実行して、アプリの構成ワークフローを開始します。
flutterfire configure
この
flutterfire configure
ワークフローの内容flutterfire configure
ワークフローは、次のことを行います。Flutter アプリでサポートされているプラットフォーム(iOS、Android、ウェブ)を選択するよう求められます。選択したプラットフォームごとに、FlutterFire CLI によって Firebase プロジェクトに Firebase アプリが新規作成されます。
既存の Firebase プロジェクトを使用するか、Firebase プロジェクトを新規作成するかを選択します。既存の Firebase プロジェクトにアプリがすでに登録されている場合、FlutterFire CLI は、現在の Flutter プロジェクト構成に基づいて、アプリのマッチングを試みます。
Firebase 構成ファイル(
firebase_options.dart
)を作成し、Flutter アプリのlib/
ディレクトリに追加します。
このガイドの次のステップでは、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 へのアクセスを提供します。
Flutter プロジェクト ディレクトリで、次のコマンドを実行してコア プラグインと Vertex AI in Firebase プラグインをインストールします。
flutter pub add firebase_core && flutter pub add firebase_vertexai
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';
また、
lib/main.dart
ファイルで、構成ファイルによってエクスポートされたDefaultFirebaseOptions
オブジェクトを使用して Firebase を初期化します。await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
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 のその他の機能を試す
- レスポンスのストリーミング方法など、テキストのみのプロンプトからテキストを生成する方法について学習する。
- マルチモーダル プロンプト(テキスト、画像、PDF、動画、音声など)からテキストを生成します。
- マルチターンの会話(チャット)を構築します。
- テキストとマルチモーダル プロンプトの両方から構造化出力(JSON など)を生成します。
- 関数呼び出しを使用して、生成モデルを外部システムと情報に接続します。
コンテンツ生成を制御する方法
- プロンプト設計を理解する。ベスト プラクティス、戦略、プロンプトの例などをご覧ください。
- 温度や最大出力トークン(Gemini の場合)やアスペクト比と人物生成(Imagen の場合)など、モデル パラメータを構成します。
- 安全性設定を使用すると、有害と見なされる可能性のある回答が生成される可能性を調整できます。
Vertex AI in Firebase の使用感に関するフィードバックを送信する