>_tech-draft
Firebaseのアイコン
Firebase
動画公開日
タイトル

Bringing Gemini to Apple's Foundation Models API

再生時間

9分 15秒

iOSアプリでAIを強化!Apple Foundation ModelsとGeminiの連携をFirebaseが実現

ポイント

  • iOSアプリ開発者は、Apple Foundation ModelsとFirebase経由のGemini連携で、オンデバイスとクラウドAIモデルを同じAPIで利用可能です。
  • Firebase AI LogicがAPIキーを安全に管理し、App Checkでリクエストの正当性を保証しながら、シームレスな統合を実現します。
  • 長文要約、地図・検索連携によるグラウンディング、画像分析など、プライバシーと高性能を両立した多様なAI機能をアプリに組み込めます。

はじめにWWDC 2026において、Appleは「Apple Foundation Modelsフレームワーク」をクラウドホスト型プロバイダにも開放するという画期的な新機能を発表しました。そして、この新しいAPIが利用可能になったその日から、FirebaseチームがGeminiモデルとの統合を実現したことを大変嬉しく思います。本記事では、この新しいAPIを最大限に活用する方法について詳しく解説していきます。### なぜこの統合が画期的なのか?このAPIの真にエキサイティングな点は、AppleのオンデバイスFoundation Modelsを使用する場合でも、Geminiのようなクラウドホスト型モデルを使用する場合でも、まったく同じAPIコールを使用できることです。これにより、手元のタスクに最適なモデルを柔軟に選択できるようになります。#### オンデバイスモデルの利点と限界オンデバイスモデルは、次のような場合に非常に優れています。* 最大限のプライバシーを確保したい場合* 追加コストをかけたくない場合* オフラインでのサポートが必要な場合これらは、より小型で特定のタスクに最適です。例えば、ほとんどのメールや短いブログ投稿のような、短文から中程度の長さのテキストを要約するのに非常に効果的です。しかし、オンデバイスモデルは比較的小規模であり、すべてのタスクに適しているわけではありません。特に、以下のような場合には限界があります。* より大きなコンテキストウィンドウ(モデルが一度に処理できる情報の量)が必要な場合* 高度な機能や強力な推論能力が必要な場合このような状況では、Geminiのようなクラウドホスト型モデルのスケールが不可欠になります。例えば、PDFファイル全体や詳細な技術ブログ記事のような長文を要約する必要がある場合、オンデバイスモデルのコンテキストウィンドウのサイズ制限に直面し、入力が制限を超えるとAPIが例外をスローする可能性があります。#### クラウドモデルの活用とシームレスな移行この新しいApple Foundation ModelsフレームワークとFirebaseとの統合により、オンデバイスモデルとクラウドホスト型モデルの両方を、全く同じコードで、同じアプリケーション内で使用できるようになりました。動画では、既存のテキスト要約コードにわずか2行のコードを追加するだけで、サーバーモデルをセッションに登録できることが紹介されており、その移行の容易さが強調されています。

Firebase AI Logicによるセキュアな統合方法Firebaseを介してFoundation ModelsフレームワークからGeminiを利用するには、Firebase AI Logicを統合する必要があります。### セットアップとキーの安全な管理まず、Firebase SDKをアプリに追加し、Firebaseプロジェクトに接続します。Firebase AI Logicはプロキシとして機能します。これは、悪意のあるアクターによって盗まれる可能性があるクライアントアプリにGemini APIキーを追加する必要がないことを意味します。代わりに、Gemini APIキーはGoogleのサーバー上で安全かつセキュアに保たれます。### Firebase App Checkによる追加のセキュリティ第二の防御線として、モデルへのリクエストが、改ざんされていないデバイスからの正規のアプリケーションからのみ発信されることを保証する必要があります。この目的のために、Firebase App Checkが用意されています。App Checkは、アッテステーションプロバイダー(アプリの整合性を検証するサービス)を使用して、すべてのリクエストがアプリの正当なインスタンスから送信されていることを確認します。さらに、App Checkはリプレイ攻撃から保護するためにワンタイムユーストークンもサポートしています。App Checkをセットアップしたら、Firebase AI Logicを使用してサーバーモデルをインスタンス化し、AppleのLanguageModelSessionに直接渡すことができます。Firebase AI LogicはAppleの言語モデルプロトコルと統合しているため、AppleのFoundation Modelsフレームワークを使用してGeminiを呼び出すことが可能になります。もし、すでにアプリでFoundation Modelsフレームワークを使用していた場合でも、既存のSwiftUIビューやデータ構造を変更する必要は一切ありません。

具体的なユースケース:リアルワールドアプリケーションでの活用例ここでは、実際のアプリケーションでこの連携がどのように役立つかを見ていきましょう。Appleの「Landmarks」アプリを例にとり、その旅程生成機能をGeminiの強力な機能で拡張する方法を紹介します。元のアプリでは、旅程の各日のアクティビティとして静的な場所のリストを使用していましたが、これをより現実的にするため、Geminiの**グラウンディング(Grounding)**機能を活用します。### Google Mapsとのグラウンディングまず、Firebase AI Logicを設定し、Geminiモデルをインスタンス化します。このクラウドホスト型モデルをAppleのFoundation Modelsフレームワークに渡します。モデルが旅程を生成する際に、実在する場所を使用するようにするには、serverToolsパラメーターを使用してGoogleMapsToolを登録します。また、モデルがGoogle Mapsツールを使用して結果をグラウンディングするようにシステム指示を更新することも良い方法です。これにより、モデルは実在する目的地とライブ座標で旅程を生成できるようになります。必要なのはGoogleMapsToolを登録することだけでした。### Google Searchとのグラウンディングしかし、場所データだけでは不十分な場合もあります。例えば、ユーザーが特定の場所で開催される特別なイベントや営業時間に関心がある場合などです。このような目的には、Google Searchとのグラウンディングが役立ちます。これを設定するには、Gemini言語モデルの設定時にGoogleSearchToolを登録します。これにより、場所の住所に加えて、営業時間や今後のイベントなど、ユーザーに表示したい詳細情報をモデルに生成させることができます。良いことに、APIのストリーミングバージョンも使用できます。これにより、モデルが出力を生成している間にUIを更新し、ユーザーの待ち時間を短縮できます。また、@Generableマクロを使用すると、期待する出力の構造を定義でき、生成された結果をUIに表示しやすくなります。注意点: Google Searchでグラウンディングを使用する場合、Google Searchの結果とその情報源の両方を表示する必要があります。Google Mapsを使用する場合も同様の要件があります。これらの詳細については、公式ドキュメントにコードスニペットとともに記載されています。モデルの応答からグラウンディングメタデータを抽出するコードについても、ドキュメントに情報があります。### 視覚的なランドマーク発見(マルチモーダル機能)最後に、構築できる最も魅力的な機能の一つである「視覚的なランドマーク発見」を紹介します。このデモでは、私の住むハンブルクを目的地としてアプリに追加しました。ユーザーが街を探索中に、船のような興味深い建物に出くわしたと想像してください。彼らはそれについてもっと知りたいので、写真を撮ります。アプリはその画像を分析し、それをDocklandビルディングとして識別し、ユーザーの旅程に追加します。これはGeminiのマルチモーダル機能のおかげで、わずか数行のコードで実装できます。まず、Geminiモデルを設定し、言語モデルセッションに渡します。画像内のランドマークを識別するには、画像を分析するようにモデルに指示するプロンプトとともに、その画像を言語モデルセッションに渡す必要があります。respondメソッドはマルチモーダルプロンプトを渡せるプロンプトビルダーを使用します。画像はCGImageとして渡す必要があるため、添付ファイルとして渡す前に画像を変換することを忘れないでください。構造化生成を使用すると、モデルがSwiftタイプに直接マッピングできる形式で応答を返すように設定できます。わずか数行のコードで、かなり素晴らしい機能を実装でき、複雑な機械学習モデルを自分で実装する必要はありませんでした。

まとめAppleのネイティブFoundation ModelsフレームワークAPIとFirebaseを介したGeminiの強力な機能との橋渡しにより、開発者は「両方の良いとこ取り」を実現できます。これにより、シンプルなタスクにはアプリを軽量かつプライベートに保ちつつ、重い推論能力が必要な場合にはクラウドにスケールアップすることが可能になります。この機能をご自身のアプリで活用する方法について詳しく知るには、ぜひ公式ドキュメントをご確認ください。### 参考動画https://www.youtube.com/watch?v=HUgkMFwq3ZY