Vertex AI in Firebase は 2024 年 10 月 21 日に一般提供(GA)にリリースされました。
Vertex AI in Firebase ライブラリのベータ版(firebase-vertexai:16.0.0-betaXX
)を使用している場合は、ライブラリの一般提供版(firebase-vertexai:16.0.0
以降)を使用するようにアップグレードするために、次の変更を行う必要があります。
移行に必要な変更の大まかなリストは次のとおりです。
- Firebase プロジェクトで新しい必須 API を有効にする (すべてのユーザーに必須)
- ライブラリの一般提供版に更新する (全ユーザーに必須)
- その他の変更 (使用する機能に応じて必要)
Firebase プロジェクトで新しい必須 API を有効にする(すべてのユーザーに必須)
Firebase プロジェクトで Vertex AI in Firebase API を有効にして、Firebase API キーの許可リストに追加する必要があります。これは、Vertex AI in Firebase の一般提供版を使用する際に必要な新しい API です。
Firebase コンソールで、[Gemini を使用した構築] ページに移動します。
[Vertex AI in Firebase] カードで [使ってみる] をクリックして、この API を有効にして Firebase API キーの許可リストに追加するワークフローを開始します。
コンソールで残りのワークフローをスキップできます。
ライブラリの一般提供版に更新する(全ユーザー必須)
次の手順に沿って依存関係を更新し、Firebase Android BoM の最新バージョンを使用します。BoM の使用は必須ではありませんが、アプリで各 Firebase ライブラリの互換性のあるバージョンが使用されるようにするため、使用することを強くおすすめします。
モジュール(アプリレベル)の Gradle ファイル(通常は
<project>/<app-module>/build.gradle.kts
または<project>/<app-module>/build.gradle)
)で、Vertex AI in Firebase の依存関係を次のように置き換えます。// BEFORE dependencies {
implementation("com.google.firebase:firebase-vertexai:16.0.0-betaXX")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.10.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") }Android プロジェクトを Gradle ファイルと同期します。
Firebase BoM を使用しない場合は、Android Studio が提案する最新バージョンの firebase-vertexai
を受け入れてください。
その他の変更(使用する機能に応じて必要)
SDK の一般提供版には、いくつかの変更が実装されています。次のリストを参照して、アプリで GA バージョンの SDK の使用に対応するためにコードに変更を加える必要のある点を確認します。
関数呼び出し
一般提供前にこの機能を実装した場合は、スキーマの定義方法を更新する必要があります。関数宣言の作成方法については、更新された関数呼び出しガイドをご覧ください。responseSchema
を使用して構造化出力(JSON など)を生成する
一般提供前にこの機能を実装した場合は、スキーマの定義方法を更新する必要があります。JSON スキーマの作成方法については、新しい構造化出力ガイドをご覧ください。タイムアウト
- リクエストのデフォルトのタイムアウトを 180 秒に変更しました。
列挙型
enum
クラスとsealed
クラスを通常のクラスに置き換えました。この変更により、下位互換性のある方法で API をより柔軟に進化させることができます。BlockThreshold
列挙型の名前をHarmBlockThreshold
に変更しました。HarmBlockThreshold
、HarmProbability
、HarmSeverity
、BlockReason
、FinishReason
の各列挙型から値を削除しました。
Blob メソッド
- 名前に
Blob
を含むすべてのメソッドの名前を変更し、代わりにInlineData
を使用するようにしました。
- 名前に
緊急情報の設定
method
フィールドを NULL 可能に変更しました。
Duration クラス
- Kotlin の
Duration
クラスの使用をすべて削除し、long
に置き換えました。この変更により、Java との相互運用性が向上します。
- Kotlin の
引用メタデータ
CitationMetadata
で以前に宣言されたすべてのフィールドを、Citation
という新しいクラスにラップしました。引用は、CitationMetadata
のcitations
というリストにあります。この変更により、プラットフォーム間で型をより適切に調整できるようになります。
トークンをカウントする
totalBillableCharacters
フィールドを NULL 可能に変更しました。
課金対象文字の合計数
- 文字が送信されない状況を反映するため、
CountTokensResponse
のtotalBillableCharacters
プロパティを省略可能に変更しました。
- 文字が送信されない状況を反映するため、
モデルのインスタンス化
- 他のプラットフォームに合わせて、
requestOptions
パラメータをパラメータリストの末尾に移動しました。
- 他のプラットフォームに合わせて、
移行に関連する可能性のあるエラー
Vertex AI in Firebase の一般提供版を使用するように移行する際、この移行ガイドに記載されている必要な変更をすべて完了していないと、エラーが発生することがあります。
403 エラー: Requests to this API firebasevertexai.googleapis.com ... are blocked.
Requests to this API firebasevertexai.googleapis.com ... are blocked.
という 403 エラーが表示される場合は、通常、Firebase 構成ファイル/オブジェクトの API キーに、使用しようとしているプロダクトの許可リストに必要な API が含まれていないことを意味します。
アプリで使用している API キーに、キーの「API の制限」許可リストに必要な API がすべて含まれていることを確認します。Vertex AI in Firebase の場合、API キーの許可リストに少なくとも Vertex AI in Firebase API が含まれている必要があります。この API は、Firebase コンソールから新しい API を有効にしたときに、API キーの許可リストに自動的に追加されているはずです。
すべての API キーは、Google Cloud コンソールの [API とサービス] > [認証情報] パネルで確認できます。