Wenn Sie die Gemini API über ein Vertex AI in Firebase SDK aus Ihrer App aufrufen, enthält Ihre Anfrage eine Reihe von Parametern, mit denen Antworten der generativen KI gesteuert werden. Dazu gehören in der Regel der Modellname, die Konfiguration der Modellgenerierung (z. B. maximale Tokens, Temperatur), Sicherheitseinstellungen, Systemanweisungen und Prompt-Daten.
In den meisten Fällen sollten Sie diese nach Bedarf oder für eine Reihe von Szenarien ändern:
- Sie können Ihr generatives KI-Modell aktualisieren, ohne eine neue App zu veröffentlichen. Sie können auf neuere, stabile Modellversionen umstellen, bevor ältere Versionen eingestellt werden, auf kostengünstigere oder leistungsstärkere Modelle umsteigen, je nach den Anforderungen und Attributen Ihrer Nutzer, oder die neuesten und besten Modelle bedingt für bestimmte Nutzersegmente (z. B. Betatester) bereitstellen.
- Legen Sie den Standort fest, von dem aus Sie auf das Modell zugreifen, damit es Ihren Nutzern näher ist.
- Führen Sie A/B-Tests mit verschiedenen Systemanweisungen und Prompts durch und führen Sie die erfolgreichen Testwerte dann nach und nach für Ihre Nutzer ein.
- Mithilfe von Funktions-Flags können Sie generative AI-Funktionen in Ihrer App schnell ein- oder ausblenden.
Firebase Remote Config bietet noch mehr Funktionen. Sie können Parameterwerte bei Bedarf und bedingungslos für App-Instanzen aktualisieren, die den in der Firebase-Konsole festgelegten Merkmalen entsprechen, ohne eine neue Version Ihrer App veröffentlichen zu müssen.
In diesem Lösungsleitfaden finden Sie empfohlene Anwendungsfälle und eine Beschreibung, wie Sie Remote Config in Ihre generative KI-App einbinden.
Warum sollten Sie Firebase Remote Config in Ihrer App verwenden?
Mit Firebase Remote Config können Sie das Verhalten Ihrer App dynamisch anpassen, ohne dass App-Updates erforderlich sind. Das ist besonders nützlich für Apps, bei denen generative AI verwendet wird, bei denen schnelle Iterationen und Feinabstimmungen entscheidend sind.
Wichtige Anwendungsfälle für Remote Config mit Apps für generative KI
Wir empfehlen die Verwendung von Remote Config mit Vertex AI in Firebase für die folgenden wichtigen Anwendungsfälle:
- Ohne App-Update auf die neueste Modellversion umstellen:Verwenden Sie Remote Config-Parameter, um den Modellnamen nach Bedarf zu ändern, damit Sie auf die neueste Version Ihres bevorzugten Gemini-Modells umstellen können, sobald sie verfügbar ist.
- Systemanweisungen und Sicherheitseinstellungen ohne App-Update aktualisieren:Speichern Sie Systemanweisungen und Sicherheitseinstellungen in Remote Config-Parametern, damit Sie sie bei Bedarf ändern können, falls Sie nach der Bereitstellung Probleme feststellen.
- Risiken reduzieren und KI-Sicherheit durchsetzen:Mit Remote ConfigRoll-outs können Sie generative KI-Änderungen sicher und schrittweise für Ihre iOS- und Android-Nutzer freigeben.
Erweiterte und empfohlene Anwendungsfälle für Remote Config mit Apps für generative KI
Nachdem Sie Ihre App mit Remote Config und Google Analytics instrumentiert haben, können Sie erweiterte Anwendungsfälle ausprobieren:
- Standort basierend auf dem Standort des Clients festlegen:Mit Remote Config-Bedingungen können Sie den Standort des Modells basierend auf dem erkannten Standort des Clients festlegen.
- Mit verschiedenen Modellen experimentieren: Sie können verschiedene generative KI-Modelle schnell testen und zwischen ihnen wechseln oder sogar verschiedene Modelle für verschiedene Nutzersegmente bereitstellen, um das für Ihren Anwendungsfall am besten geeignete Modell zu finden.
- Modellleistung optimieren: Sie können Modellparameter wie den Systemprompt, die maximale Anzahl von Ausgabetokens, die Temperatur und andere Einstellungen optimieren.
Unterschiedliche Systemanweisungen, Prompts und Modellkonfigurationen basierend auf Clientattributen verwenden:Wenn Sie Remote Config mit Google Analytics verwenden, können Sie Bedingungen basierend auf Clientattributen oder benutzerdefinierten Zielgruppen erstellen und basierend auf diesen Attributen unterschiedliche Parameter festlegen.
Wenn Sie beispielsweise generative KI für den technischen Support in Ihrer App verwenden, sollten Sie plattformspezifische Systemanweisungen festlegen, damit Android-, iOS- und Webnutzer korrekte Anweisungen erhalten.
Personalisierung für jeden Nutzer:Mit der Remote ConfigPersonalisierung können Sie automatisch die optimalen Einstellungen für die generative KI für jeden Nutzer ermitteln.
Kosten kontrollieren:Sie können per Fernzugriff festlegen, welche generativen KI-Modelle aufgerufen und wie häufig sie verwendet werden sollen. Außerdem können Sie die maximalen Ausgabetokenwerte basierend auf der Zielgruppe der Nutzer dynamisch konfigurieren, um unnötige Kosten zu vermeiden.
App-Nutzung und Ergebnisse optimieren:Verwenden Sie A/B Testing mit Remote Config in Ihren iOS-, Android- und Flutter-Apps, um Änderungen an den Parametern für die generative KI in verschiedenen Nutzersegmenten zu testen und so zu sehen, wie sich diese auf wichtige Messwerte wie Bindung und Umsatz auswirken.
Wenn Sie Ihre App mit generativer KI mit Firebase Remote Config ausstatten, können Sie flexible, sichere und kostengünstige KI-gestützte Anwendungen entwickeln und gleichzeitig eine hervorragende Nutzererfahrung schaffen.
Firebase Remote Config zu Ihrer App hinzufügen
In diesem Lösungsleitfaden verwenden Sie Firebase Remote Config, um Parameter in Ihrer Android-App, die das Vertex AI in Firebase SDK verwenden, dynamisch zu aktualisieren. Nach Abschluss können Sie:
- Rufen Sie Parameter wie Modellnamen und Systemanweisungen von Firebase Remote Config ab und aktivieren Sie sie.
- Aktualisieren Sie Ihre Gemini API-Aufrufe, um die dynamisch abgerufenen Parameter zu verwenden. So können Sie ohne App-Update zwischen verschiedenen Modellen wechseln oder Systemanweisungen ändern.
- Parameter per Fernzugriff steuern und Modellverhalten und -funktionen nach Bedarf anpassen
Vorbereitung
In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Verwendung von Xcode zum Entwickeln von Apps für Apple-Plattformen wie iOS vertraut sind. Bevor Sie beginnen, müssen Sie Folgendes tun:
Folgen Sie dem Einstiegsleitfaden für das Vertex AI in Firebase SDK. Achten Sie darauf, dass Sie Folgendes getan haben:
- Richten Sie ein neues oder vorhandenes Firebase-Projekt ein. Verwenden Sie dabei den Blaze-Preisplan und aktivieren Sie die erforderlichen APIs.
- Verbinden Sie Ihre App mit Firebase. Dazu müssen Sie Ihre App registrieren und die Firebase-Konfiguration hinzufügen.
- Fügen Sie das SDK hinzu und initialisieren Sie den Vertex AI-Dienst und das generative Modell in Ihrer App.
Aktivieren Sie Google Analytics in Ihrem Projekt und fügen Sie Ihrer App das SDK hinzu. Dies ist für das bedingte Targeting erforderlich, z. B. um den Standort des Dienstes und des Modells basierend auf dem Standort des Clientgeräts festzulegen.
Schritt 1: Parameterwerte in der Firebase-Konsole festlegen
Erstellen Sie eine Remote Config-Clientvorlage und konfigurieren Sie die Parameter und Werte, die abgerufen und in der App verwendet werden sollen.
- Öffnen Sie Ihr Firebase-Projekt in der Firebase Console, maximieren Sie im Navigationsmenü die Option Ausführen und wählen Sie Remote Config aus.
- Achte darauf, dass oben auf der Seite Remote Config in der Auswahl Client/Server die Option Client ausgewählt ist.
- Wenn Sie Remote Config-Clientvorlagen zum ersten Mal verwenden, klicken Sie auf Konfiguration erstellen. Der Bereich Ersten Parameter erstellen wird angezeigt.
- Wenn Sie Remote Config-Vorlagen bereits verwendet haben, klicken Sie auf Parameter hinzufügen.
Definieren Sie die folgenden Remote Config-Parameter:
Parametername Beschreibung Typ Standardwert model_name
Modellname. Aktuelle Listen der Modellnamen, die Sie in Ihrem Code verwenden können, finden Sie unter Verfügbare Modellnamen. String gemini-2.0-flash
system_instructions
Systemanweisungen sind wie eine „Präambel“, die Sie hinzufügen, bevor dem Modell weitere Anweisungen des Endnutzers zur Verfügung gestellt werden, um das Modellverhalten basierend auf spezifischen Anforderungen und Anwendungsfällen zu beeinflussen. String You are a helpful assistant who knows everything there is to know about Firebase!
prompt
Standardprompt für die generative KI-Funktion. String I am a developer who wants to know more about Firebase!
vertex_location
Optional können Sie den Standort festlegen, um den Vertex AI-Dienst auszuführen und auf ein Modell zuzugreifen. Sie können Bedingungen festlegen, um diese Option basierend auf dem von Google Analytics erkannten Clientstandort zu konfigurieren. String us-central1
Wenn Sie alle Parameter hinzugefügt haben, klicken Sie auf Änderungen veröffentlichen. Wenn dies keine neue Remote Config-Vorlage ist, prüfen Sie die Änderungen und klicken Sie noch einmal auf Änderungen veröffentlichen.
Schritt 2: Remote Config in Ihrer App hinzufügen und initialisieren
Fügen Sie Remote Config-Abhängigkeiten hinzu und richten Sie Remote Config in Ihrer App ein. Im Rahmen der Vertex AI in Firebase-Einrichtung haben Sie Ihrer App bereits das Firebase SDK hinzugefügt. Sie müssen aber auch Remote Config hinzufügen.
- Öffnen Sie das Projekt in Xcode und gehen Sie zu File > Add Package Dependencies (Datei > Paketabhängigkeiten hinzufügen).
- Wählen Sie firebase-ios-sdk aus und klicken Sie dann auf Paket hinzufügen.
- Wählen Sie im Project Navigator Ihre App > Ziele > Ihre App aus.
- Scrollen Sie auf dem Tab Allgemein zu Frameworks, Bibliotheken und eingebettete Inhalte.
- Klicken Sie auf +, wählen Sie FirebaseRemoteConfig aus und klicken Sie dann auf Hinzufügen.
Fügen Sie Ihrem Code den
FirebaseRemoteConfig
-Import hinzu:import FirebaseRemoteConfig
Initialisieren Sie Firebase in der entsprechenden Klasse Ihrer App (in der Beispiel-App wäre das in
VertexAISampleApp
in der KlasseAppDelegate
) und fügen Sie Ihrer Hauptanwendungslogik Remote Config hinzu.Hier fügen Sie Remote Config und den Remote Config-Echtzeit-Listener als Importe hinzu, damit die App neue Werte in Echtzeit abrufen kann. Fügen Sie außerdem ein Mindestabrufintervall hinzu:
let remoteConfig = RemoteConfig.remoteConfig() let settings = RemoteConfigSettings() settings.minimumFetchInterval = 3600 remoteConfig.configSettings = settings
In diesem Beispiel beträgt das Standardabrufintervall 3.600 Sekunden. Wir empfehlen jedoch, während der Entwicklung ein relativ niedriges Mindestabrufintervall in Ihrem Code festzulegen.
Schritt 3: In-App-Parameterwerte festlegen
Sie sollten im Remote Config-Objekt In-App-Standardparameterwerte festlegen, damit Ihre App funktioniert, bevor eine Verbindung zum Remote Config-Backend hergestellt wird, wenn der Clientnetzwerkzugriff unterbrochen wird und/oder wenn im Backend keine Werte konfiguriert sind.
- Öffnen Sie in der Firebase-Konsole Remote Config.
- Öffnen Sie auf dem Tab Parameter das Menü und wählen Sie Standardwerte herunterladen aus.
- Aktivieren Sie auf Aufforderung .plist für iOS und klicken Sie dann auf Datei herunterladen.
- Speichern Sie die Datei im Anwendungsverzeichnis. Wenn Sie die Beispiel-App verwenden, speichern Sie sie in
FirebaseVertexAI/Sample/VertexAISample
. - Klicken Sie in Xcode mit der rechten Maustaste auf Ihre App und wählen Sie Dateien hinzufügen aus. Wenn Sie das Beispiel verwenden, klicken Sie mit der rechten Maustaste auf VertexAISample und wählen Sie Dateien zu „VertexAISample“ hinzufügen aus.
- Wählen Sie remote_config_defaults.plist aus und klicken Sie dann auf Hinzufügen.
Aktualisieren Sie Ihren App-Code, damit er auf die Standarddatei verweist:
// Set default values remoteConfig.setDefaults(fromPlist: "remote_config_defaults")
Schritt 4: Werte abrufen und aktivieren
Nachdem Sie die Standardwerte festgelegt haben, fügen Sie Folgendes hinzu, um Werte abzurufen und zu aktivieren:
// Fetch and activate Remote Config values
remoteConfig.fetchAndActivate { status, error in
if let error = error {
print("Error fetching Remote Config: \(error.localizedDescription)")
}
}
Dadurch sollte das Remote Config-Objekt jedes Mal aktualisiert werden, wenn eine neue Remote Config-Vorlage veröffentlicht wird.
Schritt 5: Realtime-Remote Config-Listener hinzufügen
Fügen Sie einen Remote Config-Listener in Echtzeit hinzu, damit Änderungen an der Remote Config-Vorlage sofort an den Client weitergegeben werden, sobald sie aktualisiert wurden.
Mit dem folgenden Code wird das Remote Config-Objekt jedes Mal aktualisiert, wenn sich ein Parameterwert ändert.
// Add real-time Remote Config
remoteConfig.addOnConfigUpdateListener { configUpdate, error in
guard let configUpdate = configUpdate, error == nil else {
print("Error listening for config updates: \(error?.localizedDescription ?? "No error available")")
return
}
print("Updated keys: \(configUpdate.updatedKeys)")
remoteConfig.activate { changed, error in
guard error == nil else {
print("Error activating config: \(error?.localizedDescription ?? "No error available")")
return
}
print("Activated config successfully")
}
}
Dadurch sollte das Remote Config-Objekt jedes Mal aktualisiert werden, wenn eine neue Remote Config-Vorlage veröffentlicht wird.
Schritt 6: Remote Config-Werte Vertex AI-Variablen zuweisen
Nachdem Remote Config vollständig konfiguriert ist, aktualisieren Sie Ihren Code, um hartcodierte Werte durch Werte aus Remote Config zu ersetzen.
Erstellen Sie Werte, um die Modell- und Systempromptwerte zu speichern. Im folgenden Code wird gezeigt, wie Sie den Standort, den Modellnamen, die Systemanweisungen, den Nutzerprompt und den Vertex AI-Speicherort von Remote Config abrufen:
// Initialize the Vertex AI service
// Optionally specify a location in which to run the service and access the model
let vertexLocation = remoteConfig.configValue(forKey: "vertex_location").stringValue
let vertex = VertexAI.vertexAI(location: vertexLocation)
// Initialize the generative model with a model that supports your use case
// Specify a model that supports system instructions, like a Gemini 1.5 model
let modelName = remoteConfig.configValue(forKey: "model_name").stringValue
let systemInstructions = remoteConfig.configValue(forKey: "system_instructions").stringValue
let model = vertex.generativeModel(
modelName: modelName,
systemInstruction: ModelContent(role: "system", parts: systemInstructions)
)
// Provide a prompt that contains text
let userPrompt = remoteConfig.configValue(forKey: "prompt").stringValue
// To generate text output, call generateContent with the text input
let response = try await model.generateContent(userPrompt)
if let text = response.text {
print(text)
}
Schritt 7: App ausführen
Erstellen und führen Sie die App aus und prüfen Sie, ob sie funktioniert. Nehmen Sie in der Firebase Console auf der Seite Remote Config Änderungen an der Konfiguration vor, veröffentlichen Sie die Änderungen und prüfen Sie das Ergebnis.
Nächste Schritte
- Weitere Informationen zu Remote Config
- Fügen Sie Google Analytics Ihrem Clientcode hinzu, um das Targeting zu aktivieren.
- Testen Sie verschiedene Modelleinstellungen mit Remote Config und A/B-Tests.
- Sie können Modellparameteränderungen mithilfe von Remote Config-Roll-outs schrittweise veröffentlichen.
- Mit der Remote Config personalisierten Werbung können Sie mithilfe von maschinellem Lernen die besten Einstellungen für einzelne Nutzer ermitteln.