Vertex AI in Firebase は 2024 年 10 月 21 日に一般提供(GA)にリリースされました。
Vertex AI in Firebase ライブラリのプレビュー バージョン(FirebaseVertexAI-Preview
)を使用していた場合は、ライブラリの一般提供バージョン(FirebaseVertexAI
)を使用するようにアップグレードするために、次の変更を行う必要があります。
移行に必要な変更の大まかなリストは次のとおりです。
- 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 キーの許可リストに追加するワークフローを開始します。
コンソールで残りのワークフローをスキップできます。
ライブラリの一般提供版に更新する(全ユーザー必須)
ライブラリの GA バージョンを使用するようにアプリのコードを更新する手順は次のとおりです。
Xcode でアプリ プロジェクトを開き、次のいずれかのオプションを使用して Firebase パッケージをバージョン 11.4.0 以降に更新します。
オプション 1: すべてのパッケージを更新する: [ファイル] > [パッケージ] > [最新のパッケージ バージョンに更新] に移動します。
オプション 2: Firebase を個別に更新する: [パッケージの依存関係] セクションで Firebase パッケージに移動します。Firebase パッケージを右クリックし、[パッケージを更新] を選択します。
Firebase パッケージのバージョンが 11.4.0 以降になっていることを確認します。バージョン 11.9.0 以降にアップグレードできない場合は、指定したパッケージ要件でバージョン 11.9.0 以降へのアップグレードが許可されていることを確認します。
プロジェクト エディタでアプリのターゲットを選択し、[フレームワーク、ライブラリ、埋め込みコンテンツ] セクションに移動します。
+
ボタンを選択し、Firebase パッケージから FirebaseVertexAI を追加します。[FirebaseVertexAI-Preview] を選択し、
—
ボタンを押します。
その他の変更(使用する機能に応じて必要)
SDK の一般提供版には、いくつかの変更が実装されています。次のリストを参照して、アプリで GA バージョンの SDK の使用に対応するためにコードに変更を加える必要のある点を確認します。
関数呼び出し
一般提供前にこの機能を実装した場合は、スキーマの定義方法を更新する必要があります。関数宣言の作成方法については、更新された関数呼び出しガイドをご覧ください。responseSchema
を使用して構造化出力(JSON など)を生成する
一般提供前にこの機能を実装した場合は、スキーマの定義方法を更新する必要があります。JSON スキーマの作成方法については、新しい構造化出力ガイドをご覧ください。タイムアウト
- リクエストのデフォルトのタイムアウトを 180 秒に変更しました。
列挙型
ほとんどの
enum
型を、静的変数を持つstruct
に置き換えました。この変更により、下位互換性のある方法で API をより柔軟に進化させることができます。switch
ステートメントを使用する場合は、今後 SDK に追加される新しい値など、不明な値や処理されない値に対応するために、default:
ケースを含める必要があります。BlockThreshold
列挙型の名前をHarmBlockThreshold
に変更しました。この型はstruct
になりました。HarmCategory
、HarmBlockThreshold
、HarmProbability
、BlockReason
、FinishReason
の各列挙型(現在はstruct
)からunknown
とunspecified
のケースを削除しました。列挙型
ModelContent.Part
をPart
という名前のプロトコルに置き換え、下位互換性のある方法で新しい型を追加できるようにしました。この変更の詳細については、コンテンツ部分のセクションをご覧ください。
コンテンツ部分
ThrowingPartsRepresentable
プロトコルを削除し、ModelContent
の初期化子を簡素化して、コンパイラ エラーが発生しないようにしました。正しくエンコードされていない画像は、generateContent
で使用してもエラーがスローされます。ModelContent.Part
ケースを、Part
プロトコルに準拠する次のstruct
タイプに置き換えました。.text
からTextPart
.data
からInlineDataPart
.fileData
からFileDataPart
.functionCall
からFunctionCallPart
.functionResponse
からFunctionResponsePart
有害カテゴリ
HarmCategory
を変更し、SafetySetting
型にネストされないようにしました。SafetySetting.HarmCategory
として参照している場合は、HarmCategory
に置き換えることができます。
安全性に関するフィードバック
SafetyFeedback
型はどのレスポンスでも使用されていないため、削除しました。
引用メタデータ
CitationMetadata
のcitationSources
プロパティの名前をcitations
に変更しました。
課金対象文字の合計数
- 文字が送信されない状況を反映するため、
CountTokensResponse
のtotalBillableCharacters
プロパティを省略可能に変更しました。
- 文字が送信されない状況を反映するため、
候補者の回答
- 他のプラットフォームと一致するように、
CandidateResponse
の名前をCandidate
に変更しました。
- 他のプラットフォームと一致するように、
生成構成
GenerationConfig
のパブリック プロパティをinternal
に変更しました。これらはすべて、イニシャライザで構成できます。
移行に関連する可能性のあるエラー
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 とサービス] > [認証情報] パネルで確認できます。