タグアーカイブ iOS

GeminiがApple Foundation Modelsフレームワークに対応、Firebase経由でプレビュー提供開始

GeminiがApple Foundation Modelsフレームワークに対応、Firebase経由でプレビュー提供開始

WWDC 2026において、AppleはFoundation Modelsフレームワークをサードパーティのモデルアダプタに開放した。iOS 27やmacOS 27など最新OSで、各モデル提供者がLanguageModelプロトコルを実装し、独自のAIモデルをデバイス上で動かせる仕組みだ。これにより、オンデバイス推論とクラウド推論をアプリ内で自由に切り替えられる可能性が大きく広がる。

そして本日、FirebaseがこのフレームワークにGeminiクラウドモデルをもたらすインテグレーションのプレビューを公開した。すでにFoundation Modelsフレームワークを利用している開発者であれば、わずかなコード変更でオンデバイスモデルをGeminiに置き換えられる。Firebase App Checkによるリクエスト認証も組み込まれ、安全なAPIコールが実現する。

本記事では、この統合の概要、コードの実装イメージ、セキュリティ設計、そして対応可能な機能群を整理する。

Apple Foundation Modelsフレームワークとは

Apple Foundation Modelsフレームワークとは

Foundation Modelsフレームワークは、Appleが提供するデバイス上AI推論の公式APIセットだ。これまでApple Intelligenceで使われるオンデバイスモデルが主な対象だったが、今回のWWDC 2026で第三者モデルアダプタへの門戸が開かれた。

具体的には、LanguageModelプロトコルを実装した任意のモデルインスタンスを用意し、LanguageModelSessionに渡すことで、respond(to:)streamResponse(to:)といった共通メソッドで推論を取得できる。テキストだけでなく画像や音声、動画などのマルチモーダル入力も、プロトコル内で一元的に扱える設計だ。

このフレームワークはオンデバイス処理に最適化されているが、クラウドモデルとの共存を前提とするアーキテクチャも整っている。開発者はネットワーク状態やタスクの重さに応じて、どのモデルを使うかをコード内で自由に決定できる。

FirebaseがGeminiを橋渡しする

FirebaseがGeminiを橋渡しする

今回のプレビューで、FirebaseはAppleのFoundation ModelsフレームワークにGeminiクラウドモデルを統合するアダプタを提供した。Firebase AI Logicライブラリを経由し、LanguageModelプロトコルに準拠したGemini APIコールが可能になる。

大きなメリットは、オンデバイスモデルとGeminiクラウドモデルが同一のAPIサーフェスの背後に隠れることだ。開発者はSystemLanguageModelの代わりにGeminiLanguageModelをインスタンス化するだけで、残りのコードを一切変更せずに推論先を切り替えられる。

従来のオンデバイス専用(Before)
SystemLanguageModel デバイス上で推論
プライバシー重視だがオフライン以外の機能に制限
Firebase経由でGemini統合(After)
GeminiLanguageModel Firebase AI Logic Gemini APIで推論
大規模コンテキストやリアルタイム情報検索に対応

このデモにあるとおり、開発者は単にモデルインスタンスを切り替えるだけで、アプリの推論基盤をオンデバイスからクラウドへ、あるいはその逆に切り替えられる。実際のコード量は数行の差でしかない。

コード変更は最小限

コード変更は最小限

既存コードとの互換性

Foundation Modelsフレームワークを使っているプロジェクトでは、@Generableによるパース構造も、SwiftUIビューも、ツール定義もそのまま流用できる。変更が必要なのは、セッションに渡すモデルをGeminiLanguageModelに置き換える箇所だけだ。

この設計は、カスタムのハイブリッド推論を自前で構築する開発者にとって強力だ。オンデバイスとGeminiの両方が同一プロトコルを共有しているため、アプリの状態や要件に応じて「どのモデルに問い合わせるか」を1リクエストごとにコードで制御できる。フレームワークが自動でルーティングするのではなく、判断は開発者の手に委ねられている。

実装コード例

以下は実際のSwiftコードの抜粋である。Firebase AI LogicとApp Checkをセットアップし、gemini-3.5-flashを使ってストーリーを生成する例だ。

import FirebaseAppCheck
import FirebaseCore
import FirebaseAILogic
import FoundationModels

// App起動時にFirebaseを構成
AppCheck.setAppCheckProviderFactory(AppCheckDebugProviderFactory())
FirebaseApp.configure()

func generateStory(
    topic: String,
    wordCount: Int,
    language: String
) async throws -> String {
    let ai = FirebaseAI.firebaseAI()
    let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")

    let session = LanguageModelSession(
        model: model,
        instructions: """
        You are a creative storyteller who writes engaging, vivid prose.
        You must write strictly in \(language).
        Your stories must be approximately \(wordCount) words long.
        You must return ONLY the story text. 
        Do not include a preamble, title, or conversational filler.
        """
    )

    let response = try await session.respond(
        to: "Write a short story about \(topic)."
    )

    return response.content
}

// 使用例
let story = try await generateStory(
    topic: "a lighthouse keeper who discovers a message in a bottle",
    wordCount: 300,
    language: "Spanish"
)
print(story)

FirebaseAI.firebaseAI()でモデルインスタンスを取得し、LanguageModelSessionに渡す流れは、オンデバイスモデルを使う場合と完全に同じだ。モデル名をgemini-3.5-flashに指定する点が唯一の差分となる。

セキュリティ設計

セキュリティ設計

Firebase AI Logicを経由したGeminiへのリクエストは、すべてFirebase App Checkによる認証が適用される。改ざんされた端末やエミュレータ、スクリプトからの不正な呼び出しは、モデルに到達する前に遮断される仕組みだ。

App Checkの証明プロバイダをAppleアプリ向けに設定し、クライアントからの全APIアクセスに適用することで、Gemini連携機能のセキュリティを強化できる。この証明はFirebase側で強制されるため、開発者は最低限の設定を行うだけで安全な呼び出し基盤を手に入れられる。

STEP 1 アプリがFirebase AI Logicへリクエスト
STEP 2 App Checkが端末の正当性を検証
STEP 3 認証成功時のみGemini APIへ転送

Firebase AI Logicは単なる中継ではなく、証明と認可のゲートキーパーとして機能する。これにより、クライアントサイドのSwiftアプリから直接安全にGemini APIを呼び出す環境が整う。

テキストを超えた活用領域

テキストを超えた活用領域

この統合を使えば、テキスト生成だけでなく多彩な機能をアプリに組み込める。以下が主なユースケースとなる。

  • 実世界の情報に基づく回答googleMapsgoogleSearchツールをセッションに登録することで、最新の店舗情報やWeb情報を引用した応答を生成できる。
  • マルチモーダル入力:画像、音声、動画、PDFをプロンプトとともに渡し、テキスト以外の情報を理解する機能を提供する。
  • 画像生成:Nano Bananaモデルによる会話型の画像生成と編集が行える。
  • ストリーミング応答streamResponse(to:)を使えば、長い回答も体感速度を落とさずに表示可能。マルチターンのチャット履歴管理もフレームワークが担う。
  • エージェント機能:ツール呼び出しを使ってアプリ内のコードをGeminiが実行し、思考署名(thought signatures)がセッションをまたいだ推論の一貫性を保持する。

いずれもLanguageModelプロトコル上で統一されたインタフェースのまま扱えるため、追加のSDK学習は不要だ。

導入ステップ

導入ステップ

プレビュー段階ではあるが、すでにSwiftアプリからFirebaseを使っているプロジェクトなら、セットアップの大部分は整っている。最短で動作確認まで進む手順は以下のとおり。

  1. Firebaseコンソールでプロジェクトを作成し、Appleアプリを登録する。
  2. Firebase AI Logicを有効にし、Gemini APIプロバイダ(無料枠のGemini Developer APIまたはエンタープライズ向けGemini Enterprise Agent Platform API)を選択する。
  3. XcodeでFirebase Apple SDKをSwift Package Manager経由で追加する。プレビュー期間中は依存ルールにブランチwwdc26-previewを指定する。
  4. FirebaseAILogicライブラリを追加し、アプリ起動時にFirebaseApp.configure()を呼び出す。
  5. Geminiを利用する箇所でimport FirebaseAILogicし、前述のコード例に沿ってモデルインスタンスを生成する。
  6. App Checkの証明プロバイダを設定し、デバッグ用であっても必ず有効化してから実機で動作確認する。

詳細な手順は公式のスタートガイド(Firebaseコンソール内)にも記載されているため、合わせて参照してほしい。

この記事のポイント

  • WWDC 2026で公開されたFoundation Modelsフレームワークに、Firebase経由でGeminiクラウドモデルが接続可能になった。
  • オンデバイスモデルとGeminiは同一のLanguageModelプロトコルで扱えるため、コード変更はモデルインスタンスの差し替えのみで済む。
  • Firebase App Checkによるリクエスト認証が組み込まれ、クライアントからの安全なAPI呼び出しが担保される。
  • テキスト生成にとどまらず、最新情報検索、画像生成、マルチモーダル入力、エージェント機能など多様なユースケースに対応する。