このガイドでは、選択したプラットフォームの 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] カードをクリックして、次のタスクを完了するためのワークフローを開始します。(コンソールに Vertex AI の場合、これらのタスクは完了です)。
以下を使用するには、プロジェクトをアップグレードしてください。 従量課金制の Blaze 料金プラン。
プロジェクトで次の 2 つの API を有効にします。
aiplatform.googleapis.com
およびfirebaseml.googleapis.com
。
このガイドの次のステップに進んで、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()
を使用すると、テキストのみのプロンプトからテキストを生成できます。
request:
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、動画、音声など)からテキストを生成します。
- マルチターンの会話(チャット)を構築する。
- 関数呼び出しを使用して、生成モデルを外部システムと情報に接続します。
コンテンツ生成を制御する方法
- 以下を含むプロンプト設計について理解する ベスト プラクティス、戦略、プロンプトの例。
- 次のようなモデル パラメータを構成する temperature と max output トークンです。
- 安全性設定を使用して、 害を及ぼすおそれのある回答が返される可能性が高まります。
Vertex AI in Firebase の使用感に関するフィードバックを送信する