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 On-Device-Modellen (insbesondere dem Foundation Models-Framework von Apple) ausgeführt. Andernfalls wird nahtlos auf in der Cloud gehostete 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 vorgestellt.
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. Sie 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 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 generativen KI-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, lesen Sie diesen Abschnitt, um zu erfahren, was für Apple-Apps unterstützt wird.
Unterstützte Funktionen für die On-Device-Inferenz
Die On-Device-Inferenz unterstützt nur die Textgenerierung, insbesondere die folgenden Funktionen zur Textgenerierung:
Eine detaillierte Liste der Funktionen, die für die hybride oder On-Device-Inferenz noch nicht unterstützt werden, 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 die Gemini Developer API oder die Vertex AI Gemini API).
Bei der On-Device-Inferenz 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
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.
. Eine App kann keinen Download eines On-Device-Modells auslösen oder Apple Intelligence auf dem Gerät aktivieren. Bei Bedarf können Sie jedoch prüfen, ob ein On-Device-Modell verfügbar ist, und den Endnutzer auffordern, Apple Intelligence zu aktivieren (und so den Download des On-Device-Modells auszulösen).Schritt 1: Firebase-Projekt einrichten und App mit Firebase verbinden
Melden Sie sich in der Firebase Konsole 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, der Sie beim Einrichten der erforderlichen APIs und Ressourcen für Ihr Projekt unterstützt.
Richten Sie Ihr Projekt so ein, dass ein „Gemini API“-Anbieter verwendet wird.
Wir empfehlen, mit der Gemini Developer API zu beginnen. Sie können die Vertex AI Gemini API (und die damit verbundene Abrechnung) jederzeit einrichten.
Für die Gemini Developer API, aktiviert die Konsole die erforderlichen APIs und erstellt einen Gemini API-Schlüssel in Ihrem Projekt.
Fügen Sie diesen Gemini API-Schlüssel nicht in den Code Ihrer App ein. Weitere InformationenWenn Sie im Workflow der Konsole dazu aufgefordert werden, folgen 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 Ihrer App das SDK 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.
Ö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 Bibliothek
FirebaseAILogicaus.
Wenn Sie fertig sind, beginnt Xcode automatisch, Ihre Abhängigkeiten im Hintergrund aufzulösen und herunterzuladen.
Schritt 3: 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.
Initialisieren Sie den Dienst für den von Ihnen ausgewählten Gemini API Anbieter.
Erstellen Sie eine
GenerativeModelSession-Instanz mit einemHybridModel.Legen Sie die
primary- undsecondary-Modelle nach Ihren Vorlieben fest. Sie können die Reihenfolge der versuchten Inferenz festlegen:Zuerst On-Device-Inferenz versuchen, aber Fallback auf die Cloud zulassen: Legen Sie
primaryauf ein „Systemmodell“ undsecondaryauf ein Cloud-Modell fest.Zuerst In-Cloud-Inferenz versuchen, aber Fallback auf On-Device zulassen: Legen Sie
primaryauf ein Cloud-Modell undsecondaryauf ein „Systemmodell“ fest.
Das SDK unterstützt nur die Festlegung eines einzelnen
model. Das bedeutet, dass das SDK nur entweder die On-Device- oder die In-Cloud-Inferenz versucht. Für eine hybride Anwendung müssen Sie jedoch einHybridModelerstellen und sowohlprimaryals auchsecondary-Modelle festlegen.Weitere Informationen zum Verhalten von "Inferenzmodi" (Reihenfolge der versuchten Inferenz) finden Sie unter Konfigurationsoptionen.
Im folgenden Beispiel wird gezeigt, wie Sie zuerst die On-Device-Inferenz 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 4: Promptanfrage an ein Modell senden
In diesem Abschnitt erfahren Sie, wie Sie Folgendes tun:
Text aus reinen Texteingaben generieren
| Bevor Sie dieses Beispiel ausprobieren, müssen Sie den Abschnitt Erste Schritte dieser Anleitung durchgearbeitet haben. |
Verwenden Sie respond(to:) so, 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 reinen Texteingaben 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:) so, 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:
Feststellen, ob die On-Device- oder die In-Cloud-Inferenz verwendet wurde
Modellkonfiguration verwenden, um Antworten zu steuern (z. B. Temperatur)
Funktionen, die für die hybride 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 in der Cloud gehosteten Modellen unterstützt.
Die folgenden Funktionen werden nicht für hybride oder On-Device- Implementierungen unterstü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 On-Device-Modellen unterscheidet. Es gibt also kein intuitives Fallback.
Die folgenden Funktionen werden noch nicht für die On-Device-Inferenz unterstützt. Wenn Sie eine dieser Funktionen verwenden möchten, empfehlen wir, 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 On-Device-Modell integrierte Tools zur Verfügung stellen, damit es seine Antwort generieren kann (z. B. Code-Ausführung, URL-Kontext und Fundierung mit der Google Suche)
In der Firebase Konsole werden bei der KI-Überwachung keine Daten für die On-Device-Inferenz angezeigt (einschließlich On-Device-Logs). Jede Inferenz, bei der ein in der Cloud gehostetes Modell verwendet wird, kann jedoch wie jede andere Inferenz über Firebase AI Logic überwacht werden.
Zusätzliche Einschränkungen
Zusätzlich zu den oben genannten Einschränkungen gelten für die On-Device-Inferenz die folgenden Einschränkungen:
Der Endnutzer Ihrer App muss ein Gerät mit aktivierter Apple Intelligence verwenden.
Ihre App kann die On-Device-Inferenz nur ausführen, wenn sie im Vordergrund ausgeführt wird.
Feedback geben zu Ihrer Erfahrung mit Firebase AI Logic