Firebase AI Logic を使用して、ハイブリッド推論で AI を活用した Apple アプリや機能を構築できます。ハイブリッド推論を使用すると、利用可能な場合はオンデバイス モデル(具体的には Apple の Foundation Models フレームワーク)を使用して推論を実行し、利用できない場合はクラウドホスト型の Google モデルにシームレスにフォールバックできます(逆も同様)。
このページでは、クライアント SDK の使用を開始する方法について説明します。また、温度などの追加の構成オプションと機能についても説明します。
Firebase AI Logic を介したオンデバイス推論は、Firebase AI Logic SDK v12.13.0 以降を使用し、Apple Intelligence が有効になっているデバイスで実行されている Apple アプリでサポートされています。これは、Apple の基盤モデル フレームワークの利用規定に準拠しています。
おすすめのユースケース
推論にオンデバイス モデルを使用すると、次のメリットがあります。
- プライバシーの強化
- 無料の推論
- オフライン機能
ハイブリッド機能を使用すると、次のことが可能になります。
- エンドユーザーのデバイスに関係なく、すべてのお客様に同様のアプリ エクスペリエンスを提供する
- インターネット接続、割り当て制限、デバイスの機能に関係なく、生成 AI 機能の可用性を向上させる
サポートされている機能、API、デバイス
Firebase AI Logic を使用してハイブリッド推論とオンデバイス推論を実装する前に、このセクションで Apple アプリでサポートされている内容を確認してください。
オンデバイス推論でサポートされている機能
オンデバイス推論はテキスト生成のみをサポートしています。具体的には、次のテキスト生成機能がサポートされています。
このページの下部にある、まだサポートされていないハイブリッド推論またはオンデバイス推論の詳細なリストを確認してください。
サポートされている API とデバイス
クラウド内推論では、選択した Gemini API プロバイダ(Gemini Developer API または Agent Platform Gemini API (formerly Vertex AI))を使用します。
デバイス上の推論では、Apple の Foundation Models フレームワークを使用します。このフレームワークは、Apple Intelligence が有効になっているデバイスでのみ使用できます。Apple Intelligence が有効になっている場合、オンデバイス モデルは自動的にダウンロードされます。
始める
サポートされている機能、API、デバイスについて説明している上記のセクションを確認してください。
このスタートガイドでは、送信するサポートされているプロンプト リクエストに必要な一般的な設定について説明します。
ステップ 1: Firebase プロジェクトを設定し、アプリを Firebase に接続する
Firebase コンソールにログインし、Firebase プロジェクトを選択します。
Firebase コンソールで、[AI サービス] > [AI Logic] に移動します。
[開始] をクリックして、プロジェクトの必要な API とリソースの設定に役立つガイド付きワークフローを起動します。
プロンプトが表示されたら、画面上の手順に沿ってアプリを登録し、Firebase 構成をアプリに追加します。
「Gemini API プロバイダ」を選択するよう求められたら、Gemini Developer API を選択することをおすすめします。これにより、費用をかけずにすぐに開始できます。
後からいつでも、Agent Platform Gemini API (formerly Vertex AI) を設定できます(課金の要件も設定できます)。
ワークフローを続行して、Firebase AI Logic に必要な API と関連サービスを設定します。
2026 年 7 月上旬より、ワークフローのこのステージでは、AI Logic の Firebase App Check が自動的に適用されます。これは、アプリから Gemini API に直接アクセスする際に Gemini API を保護する重要なサービスです。開始手順の一環として(このガイドの後半の手順を参照)、App Check が適用されたときにローカル開発用の App Check デバッグ プロバイダを構成する必要があります。
このガイドの次のステップに進み、必要な SDK をアプリに追加します。
ステップ 2: 必要な SDK を追加する
Swift Package Manager(SPM)を使用して Xcode の依存関係をインストールし、管理します。ハイブリッド サポートは、SPM を使用している場合にのみ利用できます。
Firebase AI Logic ライブラリを使用すると、生成モデルを操作するための API にアクセスできます。このライブラリは、Apple プラットフォーム用の Firebase SDK(firebase-ios-sdk)の一部として含まれています。
すでに Firebase を使用している場合は、Firebase パッケージが v12.13.0 以降であることを確認してください。
Xcode でアプリのプロジェクトを開いたまま、[File] > [Add Package Dependencies] の順に移動します。
プロンプトが表示されたら、Firebase Apple プラットフォーム SDK リポジトリを追加します。
https://github.com/firebase/firebase-ios-sdk最新の SDK バージョンを選択します。
FirebaseAILogicライブラリとFirebaseAppCheckライブラリを選択します。
上記の作業が完了すると、Xcode は依存関係の解決とバックグラウンドでのダウンロードを自動的に開始します。
ステップ 3: ローカル開発用に App Check デバッグ プロバイダを構成する
2026 年 7 月上旬より、コンソールの AI Logic のガイド付き設定ワークフローの一環として、Gemini API を保護するために Firebase App Check が自動的に適用されます。ローカル開発では、App Check の適用を維持しながら、App Check デバッグ プロバイダを構成して、証明書をバイパスする必要があります。
開発中など、シミュレータでインタラクティブにアプリを実行しているときにデバッグ プロバイダを使用するには、次の手順を行います。
Xcode プロジェクトで、
FirebaseAppCheckをインポートし、Firebaseを構成する前に、デバッグ プロバイダ ファクトリを使用して App Check を初期化します。import SwiftUI import FirebaseCore import FirebaseAppCheck @main struct YourApp: App { init() { let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }デバッグ トークンを取得します。
シミュレータまたはテストデバイスでアプリを起動します。
Xcode コンソールを開き、App Check デバッグ トークンを探します。例:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.トークン(例:
123a4567-b89c-12d3-e456-789012345678)をコピーします。
デバッグ トークンを App Check に登録します。
Firebase コンソールで、[セキュリティ] > [App Check] > [アプリ] タブに移動します。
アプリを見つけて、オーバーフロー メニュー()をクリックし、[デバッグ トークンを管理] を選択します。
画面上の手順に沿ってデバッグ トークンを登録します。
デバッグ プロバイダの詳細(新しいデバッグ トークンを取得する方法など)については、App Check の公式ドキュメントをご覧ください。
ステップ 4: サービスを初期化してモデル セッション インスタンスを作成する
|
Gemini API プロバイダをクリックして、このページでプロバイダ固有のコンテンツとコードを表示します。 |
モデルにプロンプト リクエストを送信する前に、次の設定を行います。
選択した Gemini API プロバイダのサービスを初期化します。
HybridModelを使用してGenerativeModelSessionインスタンスを作成します。必要に応じて
primaryモデルとsecondaryモデルを設定します。推論の試行順序を設定できます。最初にオンデバイス推論を試行し、クラウドへのフォールバックを許可する:
primaryを「システム」モデルに設定し、secondaryをクラウドモデルに設定します。最初にクラウド内推論を試行し、オンデバイスへのフォールバックを許可する:
primaryをクラウドモデルに設定し、secondaryを「システム」モデルに設定します。
SDK は、単一の
modelの設定のみをサポートしています。つまり、SDK はオンデバイス推論またはクラウド内推論のいずれかのみを試行します。ただし、ハイブリッド エクスペリエンスの場合は、HybridModelを作成し、primaryモデルとsecondaryモデルの両方を設定する必要があります。「推論モード」(推論の試行順序)の動作の詳細については、構成オプションをご覧ください。
次の例は、最初にオンデバイス推論を試行し、クラウドホスト型モデルにフォールバックできるようにする方法を示しています。
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a cloud model that supports your use case.
let cloudModel = ai.geminiModel(name: "GEMINI_MODEL_NAME")
// Initialize an on-device model that supports your use case.
let systemModel = FirebaseAI.SystemLanguageModel.default
// Create a Hybrid Model.
// Provide your preferred model as `primary` and your fallback model as `secondary`.
// In this example, attempt to use on-device model; otherwise, fall back to cloud.
let hybridModel = HybridModel(
primary: systemModel,
secondary: cloudModel
)
// Create a GenerativeModelSession with the HybridModel created earlier.
let session = firebaseAI.generativeModelSession(
model: hybridModel,
)
ステップ 5: モデルにプロンプト リクエストを送信する
このセクションでは、次の方法について説明します。
テキストのみの入力からテキストを生成する
| このサンプルを試す前に、このガイドのスタートガイドのセクションを完了していることを確認してください。 |
テキストを含むプロンプトからテキストを生成するには、次のように respond(to:) を使用します。
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call `respond(to:)` with the text input
let response = try await session.respond(to: prompt)
print(response.content)
テキストのみの入力からテキストをストリーミングする
| このサンプルを試す前に、このガイドのスタートガイドのセクションを完了していることを確認してください。 |
モデル生成から完全な結果を待つのではなく、ストリーミングを使用して部分的な結果を処理することで、より迅速なインタラクションを実現できます。テキストを含むプロンプトから生成されたテキストをストリーミングするには、次のように streamResponse(to:) を使用します。
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To stream generated text output, call `streamResponse(to:)` with the text input
let stream = session.streamResponse(to: prompt)
for try await snapshot in stream {
print(snapshot.content)
}
Google アシスタントの機能
ハイブリッド エクスペリエンスには、さまざまな追加の構成オプションと機能を使用できます。
ハイブリッド推論またはオンデバイス推論でまだサポートされていない機能
試験運用版リリースであるため、Firebase AI Logic またはクラウドホスト型モデルのすべての機能がサポートされているわけではありません。
ハイブリッド実装またはオンデバイス実装では、次のものはサポートされていません。Gemini Live API テンプレートとサーバー プロンプト テンプレート。また、トークン数はクラウドホスト型モデルとオンデバイス モデルで異なるため、トークン数に依存しないでください。直感的なフォールバックはありません。
次の機能は、オンデバイス推論ではまだサポートされていません。これらの機能を使用する場合は、より一貫性のあるエクスペリエンスを実現するために、クラウドホスト型モデルのみを使用することをおすすめします。
画像、音声、動画、ドキュメント(PDF)などのマルチモーダル入力からテキストを生成する
画像、音声、動画などのメディアの生成
4,096 トークン(または約 3,000 英語単語)を超えるリクエストを送信する。
オンデバイス モデルに組み込みツール(コード実行、URL コンテキスト、Google 検索によるグラウンディングなど)を提供して、レスポンスの生成を支援する。
Firebase コンソールの AI モニタリングには、オンデバイス推論(オンデバイス ログを含む)のデータは表示されません。ただし、クラウドでホストされているモデルを使用する推論は、Firebase AI Logic を介して他の推論と同様にモニタリングできます。
その他の制限
上記に加えて、オンデバイス推論には次の制限があります。
アプリのエンドユーザーは、Apple Intelligence が有効になっているデバイスを使用している必要があります。
アプリがオンデバイス推論を実行できるのは、アプリがフォアグラウンドにあるときのみです。
Firebase AI Logic の使用感に関するフィードバックを送信する