In diesem Leitfaden erfahren Sie, wie Sie mit dem Vertex AI in Firebase SDK für die von Ihnen ausgewählte Plattform direkt über Ihre App Aufrufe an Vertex AI Gemini API senden.
Vorbereitung
In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Verwendung von Android Studio zum Entwickeln von Apps für Android vertraut sind.
Ihre Entwicklungsumgebung und Ihre Android-App müssen die folgenden Anforderungen erfüllen:
- Android Studio (aktuelle Version)
- Ihre Android-App muss auf API-Level 21 oder höher ausgerichtet sein.
Optional: Sehen Sie sich die Beispiel-App an.
Beispielanwendung herunterladen
Sie können das SDK schnell ausprobieren, sich eine vollständige Implementierung verschiedener Anwendungsfälle ansehen oder die Beispiel-App verwenden, wenn Sie keine eigene Android-App haben. Um die Beispiel-App verwenden zu können, müssen Sie sie mit einem Firebase-Projekt verknüpfen.
Schritt 1: Firebase-Projekt einrichten und App mit Firebase verknüpfen
Wenn Sie bereits ein Firebase-Projekt und eine mit Firebase verbundene App haben
Rufen Sie in der Firebase Console die Seite Mit Gemini erstellen auf.
Klicken Sie auf die Karte Vertex AI in Firebase, um einen Workflow zu starten, mit dem Sie die folgenden Aufgaben erledigen können:
Aktualisieren Sie Ihr Projekt, um den Blaze-Tarif (Pay as you go) zu verwenden.
Aktivieren Sie die erforderlichen APIs in Ihrem Projekt (Vertex AI API und Vertex AI in Firebase API).
Fahren Sie mit dem nächsten Schritt in dieser Anleitung fort, um das SDK Ihrer App hinzuzufügen.
Wenn Sie noch kein Firebase-Projekt und keine mit Firebase verknüpfte App haben
Schritt 2: SDK hinzufügen
Nachdem Sie Ihr Firebase-Projekt eingerichtet und Ihre App mit Firebase verbunden haben (siehe vorheriger Schritt), können Sie Ihrer App jetzt das Vertex AI in Firebase SDK hinzufügen.
Das Vertex AI in Firebase SDK for Android (firebase-vertexai
) bietet Zugriff auf die Vertex AI Gemini API.
Fügen Sie in der Gradle-Datei des Moduls (auf App-Ebene) (z. B. <project>/<app-module>/build.gradle.kts
) die Abhängigkeit für die Vertex AI in Firebase-Bibliothek für Android hinzu.
Wir empfehlen, die Firebase Android BoM zu verwenden, um die Versionierung der Bibliothek zu steuern.
Kotlin+KTX
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.6.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") }
Java
Für Java müssen Sie zwei zusätzliche Bibliotheken hinzufügen.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.6.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") // Required for one-shot operations (to use `ListenableFuture` from Guava Android) implementation("com.google.guava:guava:31.0.1-android") // Required for streaming operations (to use `Publisher` from Reactive Streams) implementation("org.reactivestreams:reactive-streams:1.0.4") }
Mit der Firebase Android BoM haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.
Schritt 3: Vertex AI-Dienst und generatives Modell initialisieren
Bevor Sie API-Aufrufe ausführen können, müssen Sie den Vertex AI-Dienst und das generative Modell initialisieren.
Kotlin+KTX
In Kotlin sind die Methoden in diesem SDK Suspend-Funktionen und müssen aus einem Coroutine-Kontext aufgerufen werden.// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")
Java
Bei Java geben die Streamingmethoden in diesem SDK einenPublisher
-Typ aus der Reactive Streams-Bibliothek zurück.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
Nachdem Sie die Anleitung zum Einstieg durchgearbeitet haben, erfahren Sie, wie Sie ein Gemini-Modell und (optional) einen Standort auswählen, der für Ihren Anwendungsfall und Ihre App geeignet ist.
Schritt 4: Vertex AI Gemini API anrufen
Nachdem Sie Ihre App mit Firebase verbunden, das SDK hinzugefügt und den Vertex AI-Dienst und das generative Modell initialisiert haben, können Sie Vertex AI Gemini API aufrufen.
Mit generateContent()
können Sie Text aus einer Promptanfrage mit reinem Text generieren:
Kotlin+KTX
In Kotlin sind die Methoden in diesem SDK Suspend-Funktionen und müssen aus einem Coroutine-Kontext aufgerufen werden.// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
Bei Java geben die Methoden in diesem SDK eineListenableFuture
zurück.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Was können Sie sonst noch tun?
Weitere Informationen zu den Gemini-Modellen
Hier finden Sie Informationen zu den Modellen, die für verschiedene Anwendungsfälle verfügbar sind, sowie zu ihren Kontingenten und Preisen.
Weitere Funktionen des Gemini API ausprobieren
- Weitere Informationen zum Generieren von Text aus Prompts, die nur aus Text bestehen, einschließlich der Möglichkeit, die Antwort zu streamen
- Text aus multimodalen Prompts generieren (einschließlich Text, Bildern, PDFs, Videos und Audio).
- Unterhaltungen mit mehreren Antworten (Chat) erstellen
- Sie können sowohl aus Text- als auch aus multimodalen Prompts strukturierte Ausgabe (z. B. JSON) generieren.
- Verwenden Sie Funktionsaufrufe, um generative Modelle mit externen Systemen und Informationen zu verbinden.
Inhaltserstellung steuern
- Informationen zum Prompt-Design, einschließlich Best Practices, Strategien und Beispiel-Prompts.
- Konfigurieren Sie Modellparameter wie Temperatur und maximale Ausgabetokens.
- Mit den Sicherheitseinstellungen können Sie die Wahrscheinlichkeit anpassen, dass Sie Antworten erhalten, die als schädlich eingestuft werden könnten.
Feedback zu Vertex AI in Firebase geben