このガイドでは、選択したプラットフォームの Vertex AI in Firebase SDK を使用して、アプリから直接 Vertex AI Gemini API を呼び出す方法について説明します。
前提条件
このガイドは、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 に接続されたアプリがまだない場合
ステップ 2: SDK を追加する
Firebase プロジェクトを設定し、アプリを Firebase に接続したら(前のステップを参照)、アプリに Vertex AI in Firebase SDK を追加できます。
Flutter 用の Vertex AI in Firebase プラグイン(firebase_vertexai
)は、Vertex AI Gemini API へのアクセスを提供します。
Flutter プロジェクト ディレクトリから、次のコマンドを実行してコアプラグインをインストールします。
flutter pub add firebase_core
lib/main.dart
ファイルで、Firebase Core プラグインと、以前に生成した構成ファイルをインポートします。import 'package:firebase_core/firebase_core.dart'; import 'firebase_options.dart';
また、
lib/main.dart
ファイルで、構成ファイルによってエクスポートされたDefaultFirebaseOptions
オブジェクトを使用して Firebase を初期化します。await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Flutter アプリケーションを再ビルドします。
flutter run
Flutter プロジェクト ディレクトリで、次のコマンドを実行します。
flutter pub add firebase_vertexai
完了したら、Flutter プロジェクトを再ビルドします。
flutter run
ステップ 3: Vertex AI サービスと生成モデルを初期化する
API 呼び出しを行う前に、Vertex AI サービスと生成モデルを初期化する必要があります。
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
// Initialize FirebaseApp
await Firebase.initializeApp();
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
final model =
FirebaseVertexAI.instance.generativeModel(model: 'gemini-1.5-flash');
スタートガイドを完了したら、Gemini モデルを選択する方法と、(必要に応じて)ユースケースとアプリに適したロケーションを選択する方法を学習する。
ステップ 4: Vertex AI Gemini API を呼び出す
アプリを Firebase に接続し、SDK を追加して、Vertex AI サービスと生成モデルを初期化したので、Vertex AI Gemini API を呼び出す準備ができました。
generateContent()
を使用して、テキストのみのプロンプト リクエストからテキストを生成できます。
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
await Firebase.initializeApp();
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
final model =
FirebaseVertexAI.instance.generativeModel(model: 'gemini-1.5-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 モデルの詳細
さまざまなユースケースで使用可能なモデルと、その割り当てと料金について学びます。
Gemini API の他の機能を試す
- レスポンスのストリーミング方法など、テキストのみのプロンプトからテキストを生成する方法について学習する。
- マルチモーダル プロンプト(テキスト、画像、PDF、動画、音声など)からテキストを生成します。
- マルチターンの会話(チャット)を構築します。
- テキストとマルチモーダル プロンプトの両方から構造化出力(JSON など)を生成します。
- 関数呼び出しを使用して、生成モデルを外部システムや情報に接続します。
コンテンツの生成を制御する方法
- プロンプトの設計を理解する。ベスト プラクティス、戦略、プロンプトの例などをご覧ください。
- 温度や最大出力トークンなどのモデル パラメータを構成します。
- 安全性設定を使用すると、有害と見なされる可能性のある回答が生成される可能性を調整できます。
Vertex AI in Firebase の使用感に関するフィードバックを送信する