Hybride Funktionen in Apple-Apps mit On-Device- und Cloud-gehosteten Modellen entwickeln

Mit hybrider Inferenz können Sie KI-gestützte Apple-Apps und ‑Funktionen mit Firebase AI Logic erstellen. Bei der hybriden Inferenz wird, wenn verfügbar, die Inferenz mit Modellen auf dem Gerät ausgeführt (insbesondere mit dem Foundation Models-Framework von Apple). Andernfalls wird nahtlos auf in der Cloud gehostete Google-Modelle zurückgegriffen (und umgekehrt).

Auf dieser Seite wird beschrieben, wie Sie das Client-SDK verwenden, sowie zusätzliche Konfigurationsoptionen und Funktionen, wie die Temperatur erläutert.

Die Inferenz auf dem Gerät über Firebase AI Logic wird für Apple Apps unterstützt, die das Firebase AI Logic SDK ab Version 12.13.0 verwenden und auf Geräten mit aktivierter Apple Intelligence ausgeführt werden. Sie unterliegt den Anforderungen an die zulässige Nutzung für das Foundation Models-Framework von Apple.

Empfohlene Anwendungsfälle

  • Die Verwendung eines Modells auf dem Gerät für die Inferenz bietet folgende Vorteile:

    • Besserer Schutz für die Daten einzelner Nutzer
    • Kostenlose Inferenz
    • Offline-Funktionen
  • Die Verwendung der Hybridfunktion bietet folgende Vorteile:

    • Allen Kunden eine ähnliche App-Nutzererfahrung bieten, unabhängig vom Gerät des Endnutzers
    • Verfügbarkeit von Funktionen der generativen KI verbessern, unabhängig von Internetverbindung, Kontingentbeschränkungen oder Gerätefunktionen

Unterstützte Funktionen, APIs und Geräte

Bevor Sie die hybride und die Inferenz auf dem Gerät mit Firebase AI Logic implementieren, lesen Sie diesen Abschnitt, um zu erfahren, was für Apple-Apps unterstützt wird.

Unterstützte Funktionen für die Inferenz auf dem Gerät

Die Inferenz auf dem Gerät unterstützt nur die Textgenerierung, insbesondere die folgenden Funktionen zur Textgenerierung:

Eine detaillierte Liste der Funktionen, die für die hybride oder die Inferenz auf dem Gerät noch nicht unterstützt werden, finden Sie unten auf dieser Seite.

Unterstützte APIs und Geräte

Jetzt starten

Lesen Sie den obigen Abschnitt zu unterstützten Funktionen, APIs und Geräten.

In dieser Anleitung werden die erforderlichen allgemeinen Einrichtungsschritte für jede unterstützte Promptanfrage beschrieben, die Sie senden möchten.

Schritt 1: Firebase-Projekt einrichten und App mit Firebase verbinden

  1. Melden Sie sich in der Firebase Konsole, an und wählen Sie dann Ihr Firebase-Projekt aus.

  2. Rufen Sie in der Firebase Konsole AI Services > AI Logic auf.

  3. Klicken Sie auf Jetzt starten , um einen geführten Workflow zu starten, der Sie beim Einrichten der erforderlichen APIs und Ressourcen für Ihr Projekt unterstützt.

  4. Folgen Sie der Anleitung auf dem Bildschirm, um Ihre App zu registrieren und Ihrer App die Firebase-Konfiguration hinzuzufügen.

  5. Wenn Sie aufgefordert werden, einen "Gemini API-Anbieter" auszuwählen, empfehlen wir Ihnen, die Gemini Developer API auszuwählen. So können Sie schnell und kostenlos loslegen.

    Sie können die jederzeit später einrichten Vertex AI Gemini API (und die dafür erforderliche Abrechnung).

  6. Fahren Sie mit dem Workflow fort, um die erforderlichen APIs und zugehörigen Dienste einzurichten für Firebase AI Logic.

    Ab Anfang Juli 2026 wird in dieser Phase des Workflows automatisch Firebase App Check für AI LogicFirebase App Check erzwungen.AI Logic Dies ist ein wichtiger Dienst, um die Gemini API zu schützen, wenn direkt über Ihre App darauf zugegriffen wird. Im Rahmen der ersten Schritte (siehe Anleitung weiter unten in dieser Anleitung) müssen Sie den App Check Debug-Anbieter für die lokale Entwicklung konfigurieren, wenn App Check erzwungen wird.

    App CheckApp Check
  7. Fahren Sie mit dem nächsten Schritt in dieser Anleitung fort, um Ihrer App die erforderlichen SDKs hinzuzufügen.

Schritt 2: Erforderliche SDKs hinzufügen

Verwenden Sie Swift Package Manager (SPM), um Xcode-Abhängigkeiten zu installieren und zu verwalten. Die Hybridunterstützung ist nur bei Verwendung von SPM verfügbar.

Die Firebase AI Logic Bibliothek bietet Zugriff auf die APIs für die Interaktion mit generativen Modellen. Die Bibliothek ist im Firebase SDK für Apple-Plattformen (firebase-ios-sdk) enthalten.

Wenn Sie Firebase bereits verwenden, muss Ihr Firebase-Paket Version 12.13.0 oder höher sein.

  1. Öffnen Sie Ihr App-Projekt in Xcode und gehen Sie zu File > Add Package Dependencies (Datei > Paketabhängigkeiten hinzufügen).

  2. Fügen Sie bei entsprechender Aufforderung das Firebase Apple Platforms SDK-Repository hinzu:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Wählen Sie die neueste SDK-Version aus.

  4. Wählen Sie die Bibliotheken FirebaseAILogic und FirebaseAppCheck aus.

Wenn Sie fertig, beginnt Xcode automatisch, Ihre Abhängigkeiten im Hintergrund aufzulösen und herunterzuladen.

Schritt 3: Den App Check Debug-Anbieter für die lokale Entwicklung konfigurieren

Ab Anfang Juli 2026 wird im Rahmen des geführten Einrichtungsworkflows für AI Logic in der Konsole automatisch Firebase App Check erzwungen, um die Gemini API zu schützen. Für die lokale Entwicklung müssen Sie den App Check Debug-Anbieter konfigurieren, um die Attestierung zu umgehen und gleichzeitig die Erzwingung von App Check beizubehalten.

So verwenden Sie den Debug-Anbieter, während Sie Ihre App interaktiv in einem Simulator ausführen (z. B. bei der lokalen Entwicklung):

  1. Importieren Sie in Ihrem Xcode-Projekt FirebaseAppCheck und initialisieren Sie App Check mit der Debug-Anbieter-Factory, bevor Sie Firebase konfigurieren.

    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()
          }
        }
      }
    }
    
  2. Rufen Sie Ihr Debug-Token ab:

    1. Starten Sie Ihre App im Simulator oder auf Ihrem Testgerät.

    2. Öffnen Sie die Xcode-Konsole und suchen Sie nach dem App Check Debug-Token. Beispiel:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Kopieren Sie das Token (z. B. 123a4567-b89c-12d3-e456-789012345678).

  3. Registrieren Sie Ihr Debug-Token bei App Check:

    1. Rufen Sie in der Firebase Konsole den Security > App Check > Apps Tab auf.

    2. Suchen Sie Ihre App, klicken Sie auf das Dreipunkt-Menü () und wählen Sie dann Manage debug tokens (Debug-Tokens verwalten) aus.

    3. Folgen Sie der Anleitung auf dem Bildschirm, um Ihr Debug-Token zu registrieren.

Weitere Informationen zum Debug-Anbieter (einschließlich der Anleitung zum Abrufen eines neuen Debug-Tokens) finden Sie in der offiziellen Dokumentation.App Check

Schritt 4: Dienst initialisieren und Instanz einer Modellsitzung erstellen

Klicken Sie auf Ihren Gemini API Anbieter, um anbieterspezifische Inhalte und Code auf dieser Seite aufzurufen.

Richten Sie Folgendes ein, bevor Sie eine Promptanfrage an das Modell senden.

  1. Initialisieren Sie den Dienst für den von Ihnen ausgewählten Gemini API Anbieter.

  2. Erstellen Sie eine GenerativeModelSession-Instanz mit einem HybridModel.

  3. Legen Sie die primary- und secondary-Modelle nach Ihren Vorlieben fest. Sie können die Reihenfolge der versuchten Inferenz festlegen:

    • Zuerst Inferenz auf dem Gerät versuchen, aber Fallback auf die Cloud zulassen: Legen Sie primary auf ein „Systemmodell“ und secondary auf ein Cloud-Modell fest.

    • Zuerst Inferenz in der Cloud versuchen, aber Fallback auf das Gerät zulassen: Legen Sie primary auf ein Cloud-Modell und secondary auf ein „Systemmodell“ fest.

    Das SDK unterstützt nur die Festlegung eines einzelnen model. Das bedeutet, dass das SDK nur entweder die Inferenz auf dem Gerät oder in der Cloud versucht. Für eine hybride Anwendung müssen Sie jedoch ein HybridModel erstellen und sowohl primary als auch secondary festlegen.

    Weitere Informationen zum Verhalten von "Inferenzmodi" (Reihenfolge der versuchten Inferenz) finden Sie unter Konfigurationsoptionen.

Im folgenden Beispiel wird gezeigt, wie Sie zuerst die Inferenz auf dem Gerät versuchen, aber ein Fallback auf das in der Cloud gehostete Modell zulassen:

// 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,
)

Schritt 5: Promptanfrage an ein Modell senden

In diesem Abschnitt erfahren Sie, wie Sie Folgendes tun:

Text aus reiner Texteingabe generieren

Bevor Sie dieses Beispiel ausprobieren, müssen Sie den Abschnitt Erste Schritte dieser Anleitung durchgearbeitet haben.

Verwenden Sie respond(to:), um Text aus einem Prompt zu generieren, der Text enthält:

// 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)

Text aus reiner Texteingabe streamen

Bevor Sie dieses Beispiel ausprobieren, müssen Sie den Abschnitt Erste Schritte dieser Anleitung durchgearbeitet haben.

Sie können schnellere Interaktionen erzielen, indem Sie nicht auf das gesamte Ergebnis der Modellgenerierung warten, sondern stattdessen Streaming verwenden, um Teilergebnisse zu verarbeiten. Verwenden Sie streamResponse(to:), um generierten Text aus einem Prompt zu streamen , der Text enthält:

// 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)
}

Was können Sie sonst noch tun?

Sie können verschiedene zusätzliche Konfigurationsoptionen und Funktionen für Ihre Hybridanwendungen verwenden:

Funktionen, die für die hybride oder die Inferenz auf dem Gerät noch nicht unterstützt werden

Da es sich um eine experimentelle Version handelt, werden nicht alle Funktionen von Firebase AI Logic oder in der Cloud gehosteten Modellen unterstützt.

  • Die folgenden Funktionen werden nicht für hybride oder auf dem Gerät ausgeführte Implementierungenunterstützt: Imagen-Modelle, die Gemini Live API und Prompt vorlagen. Außerdem sollten Sie sich nicht auf die Anzahl der Tokens verlassen, da sie sich zwischen in der Cloud gehosteten und auf dem Gerät ausgeführten Modellen unterscheidet. Es gibt also kein intuitives Fallback.

  • Die folgenden Funktionen werden noch nicht für die Inferenz auf dem Gerät unterstützt. Wenn Sie eine dieser Funktionen verwenden möchten, empfehlen wir Ihnen, nur ein in der Cloud gehostetes Modell zu verwenden, um eine konsistentere Nutzererfahrung zu erzielen.

    • Text aus multimodalen Eingaben wie Bildern, Audio, Videos und Dokumenten (PDFs) generieren

    • Medien wie Bilder, Audio oder Videos generieren

    • Anfragen senden, die 4.096 Tokens (oder etwa 3.000 englische Wörter) überschreiten

    • Dem Modell auf dem Gerät integrierte Tools zur Verfügung stellen, mit denen es seine Antwort generieren kann (z. B. Codeausführung, URL-Kontext und Fundierung mit der Google Suche)

  • In der Firebase Konsole werden bei der KI-Überwachung keine Daten für die Inferenz auf dem Gerät angezeigt (einschließlich Protokollen auf dem Gerät). Jede Inferenz, bei der ein in der Cloud gehostetes Modell verwendet wird, kann jedoch wie andere Inferenz via Firebase AI Logic überwacht werden.

Zusätzliche Einschränkungen

Zusätzlich zu den oben genannten Einschränkungen gelten für die Inferenz auf dem Gerät die folgenden Einschränkungen:


Feedback geben zu Ihrer Erfahrung mit Firebase AI Logic