Mit Firebase AI Logic können Sie KI‑basierte Apple-Apps und ‑Funktionen mit hybrider Inferenz erstellen. Mit der hybriden Inferenz können Sie die Inferenz mit On-Device-Modellen (insbesondere dem Foundation Models-Framework von Apple) ausführen, wenn diese verfügbar sind. Andernfalls wird nahtlos auf cloudbasierte Google-Modelle zurückgegriffen (und umgekehrt).
Auf dieser Seite wird beschrieben, wie Sie mit dem Client-SDK beginnen. Außerdem werden zusätzliche Konfigurationsoptionen und Funktionen wie die Temperatur beschrieben.
Die On-Device-Inferenz ü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. Es unterliegt den Anforderungen an die zulässige Nutzung für das Foundation Models-Framework von Apple.
Empfohlene Anwendungsfälle
Die Verwendung eines On-Device-Modells für die Inferenz bietet folgende Vorteile:
- Besserer Datenschutz
- Kostenlose Inferenz
- Offline-Funktionen
Die Verwendung von Hybrid-Funktionen bietet folgende Vorteile:
- Allen Nutzern eine ähnliche App-Erfahrung bieten, unabhängig vom Gerät des Endnutzers
- Verfügbarkeit von auf generativer KI basierenden Funktionen verbessern, unabhängig von Internetverbindung, Kontingentbeschränkungen oder Gerätefunktionen
Unterstützte Funktionen, APIs und Geräte
Bevor Sie die hybride und On-Device-Inferenz mit Firebase AI Logic implementieren, sollten Sie sich diesen Abschnitt ansehen, um zu erfahren, was für Apple-Apps unterstützt wird.
Unterstützte Funktionen und Features 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 noch nicht unterstützten Hybrid- oder On-Device-Inferenz finden Sie unten auf dieser Seite.
Unterstützte APIs und Geräte
Bei der In-Cloud-Inferenz wird der von Ihnen ausgewählte Gemini API-Anbieter verwendet (entweder Gemini Developer API oder Vertex AI Gemini API).
Für die Inferenz auf dem Gerät wird das Foundation Models-Framework von Apple verwendet, das nur auf Geräten mit aktivierter Apple Intelligence verfügbar ist. Das On-Device-Modell wird automatisch heruntergeladen, wenn Apple Intelligence aktiviert ist.
Jetzt starten
Prüfen Sie, ob Sie den Abschnitt oben mit den unterstützten Funktionen, APIs und Geräten gelesen haben.
In dieser Anleitung werden die erforderlichen allgemeinen Einrichtungsschritte für alle unterstützten Prompts beschrieben, die Sie senden möchten.
Schritt 1: Firebase-Projekt einrichten und App mit Firebase verbinden
Melden Sie sich in der Firebase Console an und wählen Sie Ihr Firebase-Projekt aus.
Rufen Sie in der Firebase-Konsole AI Services > AI Logic auf.
Klicken Sie auf Jetzt starten, um einen geführten Workflow zu starten, mit dem Sie die erforderlichen APIs und Ressourcen für Ihr Projekt einrichten können.
Richten Sie Ihr Projekt für die Verwendung eines „Gemini API“-Anbieters ein.
Wir empfehlen, mit der Gemini Developer API zu beginnen. Sie können jederzeit Vertex AI Gemini API einrichten (und die zugehörigen Abrechnungsanforderungen erfüllen).
Für die Gemini Developer API werden in der Konsole die erforderlichen APIs aktiviert und ein Gemini-API-Schlüssel in Ihrem Projekt erstellt.
Fügen Sie diesen Gemini-API-Schlüssel nicht in die Codebasis Ihrer App ein. Weitere InformationenFolgen Sie der Anleitung auf dem Bildschirm, um Ihre App zu registrieren und mit Firebase zu verbinden.
Fahren Sie mit dem nächsten Schritt in dieser Anleitung fort, um das SDK Ihrer App hinzuzufügen.
Schritt 2: Erforderliche SDKs hinzufügen
Verwenden Sie Swift Package Manager (SPM), um Xcode-Abhängigkeiten zu installieren und zu verwalten. Die Hybrid-Unterstü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 Teil des Firebase SDK für Apple-Plattformen (firebase-ios-sdk).
Wenn Sie Firebase bereits verwenden, muss Ihr Firebase-Paket Version 12.13.0 oder höher haben.
Öffnen Sie Ihr App-Projekt und gehen Sie in Xcode zu File > Add Package Dependencies (Datei > Paketabhängigkeiten hinzufügen).
Fügen Sie bei entsprechender Aufforderung das Firebase Apple Platforms SDK-Repository hinzu:
https://github.com/firebase/firebase-ios-sdkWählen Sie die neueste SDK-Version aus.
Wählen Sie die
FirebaseAILogic-Mediathek aus.
Wenn Sie fertig sind, beginnt Xcode automatisch, Ihre Abhängigkeiten im Hintergrund aufzulösen und herunterzuladen.
Schritt 3: Dienst initialisieren und eine Modell-Sitzungsinstanz erstellen
|
Klicken Sie auf Ihren Gemini API-Anbieter, um anbieterspezifische Inhalte und Code auf dieser Seite aufzurufen. |
Richten Sie Folgendes ein, bevor Sie eine Prompts-Anfrage an das Modell senden.
Initialisieren Sie den Dienst für den von Ihnen ausgewählten Gemini API-Anbieter.
Erstellen Sie eine
GenerativeModelSession-Instanz mit einemHybridModel.Legen Sie die Modelle
primaryundsecondaryentsprechend Ihren Anforderungen fest. Sie können die Reihenfolge der versuchten Inferenz festlegen:Inferenz zuerst auf dem Gerät versuchen, aber Fallback auf die Cloud zulassen: Setzen Sie
primaryauf ein „System“-Modell undsecondaryauf ein Cloud-Modell.Inferenz zuerst in der Cloud versuchen, aber Fallback auf das Gerät zulassen: Setzen Sie
primaryauf ein Cloud-Modell undsecondaryauf ein „System“-Modell.
Beachten Sie, dass das SDK nur das Festlegen eines einzelnen
modelunterstützt. Das bedeutet, dass das SDK nur entweder die Inferenz auf dem Gerät oder in der Cloud versucht. Für eine hybride Erfahrung müssen Sie jedoch einHybridModelerstellen und sowohl dasprimary- als auch dassecondary-Modell festlegen.Weitere Informationen zum Verhalten von „Inferenzmodi“ (die Reihenfolge der versuchten Inferenz) finden Sie unter Konfigurationsoptionen.
Im folgenden Beispiel wird gezeigt, wie zuerst die Inferenz auf dem Gerät versucht wird, aber ein Fallback auf das in der Cloud gehostete Modell möglich ist:
// 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 4: Prompt-Anfrage an ein Modell senden
In diesem Abschnitt wird Folgendes beschrieben:
Text aus reinen Texteingaben generieren
| Bevor Sie dieses Beispiel ausprobieren, müssen Sie den Abschnitt Erste Schritte dieser Anleitung durchgearbeitet haben. |
Wenn Sie Text aus einem Prompt generieren möchten, der Text enthält, verwenden Sie respond(to:) so:
// 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 Nur-Text-Eingabe 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. Wenn Sie generierten Text aus einem Prompt mit Text streamen möchten, verwenden Sie streamResponse(to:) so:
// 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 kannst du sonst noch tun?
Für Ihre hybriden Anwendungen stehen verschiedene zusätzliche Konfigurationsoptionen und Funktionen zur Verfügung:
Ermitteln, ob die Inferenz auf dem Gerät oder in der Cloud verwendet wurde.
Mit der Modellkonfiguration Antworten steuern (z. B. Temperatur)
Funktionen, die für Hybrid- oder On-Device-Inferenz noch nicht unterstützt werden
Da es sich um eine experimentelle Version handelt, werden nicht alle Funktionen von Firebase AI Logic oder cloudbasierten Modellen unterstützt.
Die folgenden Elemente werden für Hybrid- oder On-Device-Implementierungen nicht unterstützt: Imagen-Modelle, die Gemini Live API und Promptvorlagen. Außerdem sollte man sich nicht auf die Anzahl der Tokens verlassen, da sie sich zwischen cloudbasierten und geräteinternen Modellen unterscheidet. Es gibt also keine intuitive Fallback-Lösung.
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, nur ein in der Cloud gehostetes Modell zu verwenden, um eine konsistentere Nutzung zu ermöglichen.
Text aus multimodalen Eingaben wie Bildern, Audio, Videos und Dokumenten (PDFs) generieren
Generieren von Medien wie Bildern, Audio oder Videos
Anfragen mit mehr als 4.096 Tokens (ca. 3.000 Wörter auf Englisch) senden.
Das On-Device-Modell wird mit integrierten Tools ausgestattet, die ihm helfen, seine Antwort zu generieren (z. B. Codeausführung, URL-Kontext und Fundierung mit der Google Suche).
Beim KI-Monitoring in der Firebase Console werden keine Daten für die Inferenz auf dem Gerät angezeigt, einschließlich der Logs auf dem Gerät. Alle Inferenzen, bei denen ein in der Cloud gehostetes Modell verwendet wird, können jedoch wie andere Inferenzen über 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:
Der Endnutzer Ihrer App muss ein Gerät mit aktivierter Apple Intelligence verwenden.
Ihre App kann die Inferenz auf dem Gerät nur ausführen, wenn sie im Vordergrund ausgeführt wird.
Feedback zu Firebase AI Logic geben