Firebase AI Logic を使用して、ハイブリッド推論で AI を活用した Apple アプリや機能を構築できます。ハイブリッド推論では、デバイス上のモデル(特に Apple の Foundation Models フレームワーク)が利用可能な場合はそれを使用して推論を実行し、それ以外の場合はクラウドホスト型の Google モデルにシームレスにフォールバックできます(逆も同様)。
このページでは、クライアント SDK の使用を開始する方法について説明します。また、Temperature などの追加の設定オプションと機能についても説明します。
Firebase AI Logic を介したオンデバイス推論は、Firebase AI Logic SDK v12.13.0 以降を使用し、Apple Intelligence が有効になっているデバイスで実行されている Apple アプリでサポートされています。これは、Apple の Foundation Models フレームワークの利用規約に準拠しています。
おすすめのユースケース
推論にデバイスモデルを使用すると、次のメリットがあります。
- プライバシーの強化
- 無料の推論
- オフライン機能
ハイブリッド機能の特典:
- エンドユーザーのデバイスに関係なく、すべてのユーザーに同様のアプリ エクスペリエンスを提供する
- インターネット接続、割り当て制限、デバイスの機能に関係なく、生成 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 ロジック] に移動します。
[使ってみる] をクリックして、プロジェクトに必要な API とリソースの設定に役立つガイド付きワークフローを起動します。
メッセージが表示されたら、画面上の手順に沿ってアプリを登録し、Firebase 構成をアプリに追加します。
[Gemini API プロバイダ] を選択するよう求められたら、Gemini Developer API を選択することをおすすめします。これにより、無料で迅速に始めることができます。
後からいつでも Agent Platform Gemini API (formerly Vertex AI) を設定できます(お支払いに関する要件も同様です)。
ワークフローを続行して、Firebase AI Logic に必要な API と関連サービスを設定します。
2026 年 7 月上旬より、ワークフローのこのステージでは、アプリから直接アクセスされたときに Gemini API を保護するのに役立つ重要なサービスである AI Logic に対して Firebase App Check が自動的に適用されます。開始手順(このガイドの後半のステップを参照)の一環として、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 プロジェクトで、
Firebaseを構成する前にFirebaseAppCheckをインポートし、デバッグ プロバイダの Factory を使用して 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 は 1 つの
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 またはクラウドホスト型モデルのすべての機能がサポートされているわけではありません。
Imagen モデル、Gemini Live API、プロンプト テンプレートは、ハイブリッド実装またはデバイス上実装ではサポートされていません。また、クラウドホスト型モデルとオンデバイス モデルではカウントが異なるため、トークン数に依存することは避けてください。直感的なフォールバックはありません。
次の機能は、オンデバイス推論ではまだサポートされていません。これらの機能を使用する場合は、より一貫したエクスペリエンスを実現するために、クラウドホスト型モデルのみを使用することをおすすめします。
画像、音声、動画、ドキュメント(PDF)などのマルチモーダル入力からテキストを生成する
画像、音声、動画などのメディアを生成する
4,096 トークン(約 3,000 ワード(英語))を超えるリクエストを送信する。
オンデバイス モデルに組み込みツールを提供して、レスポンスの生成を支援する(コード実行、URL コンテキスト、Google 検索によるグラウンディングなど)
Firebase コンソールの AI モニタリングには、オンデバイス推論(オンデバイスログを含む)のデータは表示されません。ただし、クラウドホスト型モデルを使用する推論は、Firebase AI Logic を介して他の推論と同様にモニタリングできます。
その他の制限
上記に加えて、オンデバイス推論には次の制限があります。
アプリのエンドユーザーは、Apple Intelligence が有効になっているデバイスを使用している必要があります。
アプリがフォアグラウンドにある場合にのみ、アプリはオンデバイス推論を実行できます。
Firebase AI Logic の使用感についてフィードバックを送信する