Firebase AI Logic でGemini API
Firebase AI Logic を使用して Gemini モデルと Imagen モデルで AI を活用したモバイルアプリとウェブアプリ、機能を構築する
Firebase AI Logic を使用すると、Google の最新の生成 AI モデル(Gemini モデルと Imagen モデル)にアクセスできます。
サーバーサイドではなく、モバイルアプリまたはウェブアプリから Gemini API または Imagen API を直接呼び出す必要がある場合は、Firebase AI Logic クライアント SDK を使用できます。これらのクライアント SDK は、モバイルアプリとウェブアプリでの使用を目的として構築されており、不正なクライアントに対するセキュリティ オプションと、他の Firebase サービスとの統合を提供します。
これらのクライアント SDK は、Apple プラットフォームでは Swift、Android では Kotlin と Java、ウェブでは JavaScript、Flutter と Unity では Dart で利用できます。
これらのクライアント SDK を使用すると、アプリに AI パーソナライズを追加したり、AI チャット エクスペリエンスを構築したり、AI を活用した最適化と自動化を作成したりできます。
柔軟性やサーバーサイドの統合が必要な場合
Genkit は、Google、OpenAI、Anthropic などのモデルに幅広くアクセスできる、高度なサーバーサイド AI 開発向けの Firebase のオープンソース フレームワークです。これには、より高度な AI 機能と専用のローカル ツールが含まれています。
主な機能
マルチモーダルと自然言語の入力 |
Gemini モデルはマルチモーダルであるため、Gemini API に送信されるプロンプトには、テキスト、画像、PDF、動画、音声を含めることができます。 Gemini モデルと Imagen モデルの両方には、自然言語入力でプロンプトを設定できます。 |
機能の拡充 | SDK を使用すると、モバイルアプリまたはウェブアプリから Gemini API または Imagen API を直接呼び出して、AI チャット エクスペリエンスを構築したり、画像を生成したり、関数呼び出し(ツール)を使用したり、入力と出力(音声を含む)をストリーミングしたりできます。 |
本番環境アプリのセキュリティと不正使用の防止 |
Firebase App Check を使用して、Gemini モデルと Imagen モデルにアクセスする API を、未承認のクライアントによる不正使用から保護します。 Firebase AI Logic には、デフォルトでユーザーごとのレート制限も設定されており、これらのユーザーごとのレート制限は完全に構成可能です。 |
堅牢なインフラストラクチャ | モバイルアプリとウェブアプリでの使用向けに構築されたスケーラブルなインフラストラクチャを活用します。たとえば、Cloud Storage for Firebase によるファイルの管理、Firebase データベース サービス(Cloud Firestore など)による構造化データの管理、Firebase Remote Config によるランタイム構成の動的設定などです。 |
仕組み
Firebase AI Logic には、クライアント SDK、プロキシ サービスなどの機能が用意されています。これにより、Google の生成 AI モデルにアクセスして、モバイルアプリやウェブアプリに AI 機能を構築できます。
Google モデルと「Gemini API」プロバイダのサポート
Google は最新の Gemini モデルと Imagen 3 モデルをすべてサポートしています。これらのモデルにアクセスするには、任意の「Gemini API」プロバイダを選択します。Gemini Developer API と Vertex AI Gemini API の両方がサポートされています。2 つの API プロバイダの使用の違いについて学習する。
Gemini Developer API を使用する場合は、無料枠を利用して迅速に運用を開始できます。
モバイル クライアント SDK とウェブ クライアント SDK
モデルへのリクエストは、Google の Firebase AI Logic クライアント SDK を使用して、モバイルアプリまたはウェブアプリから直接送信します。この SDK は、Apple プラットフォームでは Swift、Android では Kotlin と Java、ウェブでは JavaScript、Flutter と Unity では Dart で利用できます。
Firebase プロジェクトで両方の Gemini API プロバイダを設定している場合は、他の API を有効にして初期化コードを数行変更するだけで、API プロバイダを切り替えることができます。
また、ウェブ向けクライアント SDK では、パソコン版 Chrome で実行されるウェブアプリ向けのハイブリッド推論とデバイス上の推論に試験運用版でアクセスできます。この構成により、アプリはオンデバイス モデルが使用可能な場合はそれを使用し、必要に応じてクラウド ホスト型モデルにシームレスにフォールバックできます。
プロキシ サービス
Google のプロキシ サービスは、クライアントと選択した Gemini API プロバイダ(および Google のモデル)間のゲートウェイとして機能します。モバイルアプリとウェブアプリにとって重要なサービスと統合を提供します。たとえば、Firebase App Check を設定して、選択した API プロバイダとバックエンド リソースを不正なクライアントによる不正使用から保護できます。
これは、Gemini Developer API を使用する場合に特に重要です。Google のプロキシ サービスとこの App Check 統合により、Gemini API キーはサーバーに残り、アプリのコードベースには埋め込まれません。
実装パス
Firebase プロジェクトを設定し、アプリを Firebase に接続する | Firebase コンソールの Firebase AI Logic ページのガイド付きワークフローを使用してプロジェクトを設定し(選択した Gemini API プロバイダに必要な API を有効にすることも含む)、アプリを Firebase プロジェクトに登録し、Firebase 構成をアプリに追加します。 | |
SDK をインストールして初期化する | アプリのプラットフォームに固有の Firebase AI Logic SDK をインストールし、サービスを初期化してアプリにモデル インスタンスを作成します。 | |
Gemini モデルと Imagen モデルにプロンプト リクエストを送信する | SDK を使用して、テキストのみまたはマルチモーダル プロンプトを Gemini モデルに送信し、テキストとコード、構造化出力(JSON など)、画像を生成します。または、Imagen モデルに画像の生成をプロンプトすることもできます。 マルチターン チャット、テキストと音声の双方向ストリーミング、関数呼び出しを使用して、より豊かなエクスペリエンスを構築します。 |
|
本番環境の準備 | モバイルアプリとウェブアプリに重要な統合を実装します。たとえば、Firebase App Check を使用して API を不正使用から保護したり、Firebase Remote Config を使用してコードのパラメータ(モデル名など)をリモートで更新したりします。 |
次のステップ
モバイルアプリまたはウェブアプリからモデルにアクセスする