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 用の Dart、Unity で利用できます。
これらのクライアント SDK を使用すると、アプリに AI パーソナライズ機能を追加したり、AI チャット エクスペリエンスを構築したり、AI による最適化と自動化を作成したりできます。
柔軟性やサーバーサイドの統合が必要な場合
Genkit は、Google、OpenAI、Anthropic などのモデルに幅広くアクセスできる、高度なサーバーサイド AI 開発用の Firebase のオープンソース フレームワークです。高度な AI 機能と専用のローカル ツールが含まれています。
主な機能
マルチモーダルと自然言語入力 |
Gemini モデルはマルチモーダルであるため、Gemini API に送信されるプロンプトには、テキスト、画像、PDF、動画、音声を含めることができます。一部の Gemini モデルは、マルチモーダル出力を生成することもできます。 Gemini モデルと Imagen モデルの両方で、自然言語入力によるプロンプトを使用できます。 |
機能の拡充 | SDK を使用すると、モバイルアプリやウェブアプリから Gemini API または Imagen API を直接呼び出して、AI チャット エクスペリエンスを構築したり、画像を生成したり、ツール(関数呼び出しや Google 検索によるグラウンディングなど)を使用したり、マルチモーダル入力と出力(音声を含む)をストリーミングしたりできます。 |
本番環境アプリのセキュリティと不正使用の防止 |
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 Cloud では、最新の Gemini モデルと Imagen 3 モデルをすべてサポートしています。これらのモデルにアクセスするには、優先する「Gemini API」プロバイダを選択します。Gemini Developer API と Vertex AI Gemini API の両方をサポートしています。2 つの API プロバイダの使用の違いについて学習する。
Gemini Developer API を使用する場合は、その「無料枠」を利用して、迅速に運用を開始できます。
モバイル クライアント SDK とウェブ クライアント SDK
Apple プラットフォーム用の Swift、Android 用の Kotlin と Java、ウェブ用の JavaScript、Flutter 用の Dart、Unity で利用可能な Firebase AI Logic クライアント SDK を使用して、モバイルアプリまたはウェブアプリからモデルに直接リクエストを送信します。
Firebase プロジェクトで Gemini API プロバイダの両方が設定されている場合は、もう一方の API を有効にして初期化コードを数行変更するだけで、API プロバイダを切り替えることができます。
また、ウェブ用のクライアント SDK では、パソコンの Chrome で実行されるウェブアプリのハイブリッド推論とオンデバイス推論への試験運用版アクセスが提供されています。この構成により、アプリはオンデバイス モデルが使用可能な場合はそれを使用し、必要に応じてクラウドホスト モデルにシームレスにフォールバックできます。
プロキシ サービス
Google のプロキシ サービスは、クライアントと選択した Gemini API プロバイダ(および Google のモデル)間のゲートウェイとして機能します。モバイルアプリとウェブアプリにとって重要なサービスと統合を提供します。たとえば、Firebase App Check を設定して、選択した API プロバイダとバックエンド リソースを未承認のクライアントによる不正使用から保護できます。
Gemini Developer API を使用することを選択した場合は、特に重要です。これは、プロキシ サービスとこの 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 を使用してコード内のパラメータ(モデル名など)をリモートで更新するなど、モバイルアプリとウェブアプリの重要な統合を実装します。 |
次のステップ
モバイルアプリまたはウェブアプリからモデルにアクセスする