Erste Schritte mit der Gemini API mithilfe der Vertex AI in Firebase SDKs

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 Gemini API in Vertex AI senden.

Dieser Leitfaden kann auch als Einstieg in den Zugriff auf Imagen-Modelle mit den Vertex AI in Firebase-SDKs verwendet werden.

Vorbereitung

Swift

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.

  • Ihre Entwicklungsumgebung und die App für Apple-Plattformen müssen die folgenden Anforderungen erfüllen:

    • Xcode 16.2 oder höher
    • Ihre App ist auf iOS 15 oder höher oder macOS 12 oder höher ausgerichtet.
  • Optional: Sehen Sie sich die Beispiel-App an.

    Kurzanleitung 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 App für Apple-Plattformen haben. Um die Beispiel-App verwenden zu können, müssen Sie sie mit einem Firebase-Projekt verknüpfen.

Kotlin

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 App ist auf API-Level 21 oder höher ausgerichtet
  • 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.

Java

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 App ist auf API-Level 21 oder höher ausgerichtet
  • 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 zu verwenden, müssen Sie sie mit einem Firebase-Projekt verknüpfen.

Web

In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Verwendung von JavaScript zur Entwicklung von Webanwendungen vertraut sind. Dieser Leitfaden ist frameworkunabhängig.

  • Ihre Entwicklungsumgebung und Webanwendung müssen die folgenden Anforderungen erfüllen:

    • Optional: Node.js
    • Moderner Webbrowser
  • 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 Web-App haben. Um die Beispiel-App zu verwenden, müssen Sie sie mit einem Firebase-Projekt verknüpfen.

Dart

In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Entwicklung von Apps mit Flutter vertraut sind.

  • Ihre Entwicklungsumgebung und Ihre Flutter-App müssen die folgenden Anforderungen erfüllen:

    • Dart 3.2.0 oder höher
  • 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 Flutter-App haben. Um die Beispiel-App zu verwenden, 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

  1. Rufen Sie in der Firebase-Konsole die Seite Vertex AI auf.

  2. Klicke auf die Karte Vertex AI in Firebase, um einen Workflow zu starten, mit dem du die folgenden Aufgaben erledigen kannst:

  3. 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.

Swift

Verwenden Sie Swift Package Manager, um Firebase-Abhängigkeiten zu installieren und zu verwalten.

Die Vertex AI in Firebase-Bibliothek bietet Zugriff auf die APIs für die Interaktion mit Gemini- und Imagen-Modellen. Die Bibliothek ist Teil des Firebase SDK für Apple-Plattformen (firebase-ios-sdk).

  1. Öffnen Sie Ihr App-Projekt und gehen Sie in Xcode zu File > Add Packages (Datei > Pakete 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 Bibliothek FirebaseVertexAI aus.

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

Kotlin

Das Vertex AI in Firebase SDK for Android (firebase-vertexai) bietet Zugriff auf die APIs zur Interaktion mit Gemini- und Imagen-Modellen.

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, Firebase Android BoM zu verwenden, um die Versionierung der Bibliothek zu steuern.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.13.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")
}

Mit der Firebase Android BoM haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.

Java

Das Vertex AI in Firebase SDK for Android (firebase-vertexai) bietet Zugriff auf die APIs zur Interaktion mit Gemini- und Imagen-Modellen.

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, Firebase Android BoM zu verwenden, um die Versionierung der Bibliothek zu steuern.

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.13.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.

Web

Die Vertex AI in Firebase-Bibliothek bietet Zugriff auf die APIs für die Interaktion mit Gemini- und Imagen-Modellen. Die Bibliothek ist Teil des Firebase JavaScript SDK for Web.

  1. So installieren Sie das Firebase JS SDK für das Web mit npm:

    npm install firebase
    
  2. Firebase in Ihrer App initialisieren:

    import { initializeApp } from "firebase/app";
    
    // TODO(developer) Replace the following with your app's Firebase configuration
    // See: https://firebase.google.com/docs/web/learn-more#config-object
    const firebaseConfig = {
      // ...
    };
    
    // Initialize FirebaseApp
    const firebaseApp = initializeApp(firebaseConfig);
    

Dart

Das Vertex AI in Firebase-Plug-in für Flutter (firebase_vertexai) bietet Zugriff auf die APIs zur Interaktion mit Gemini- und Imagen-Modellen.

  1. Führen Sie im Verzeichnis Ihres Flutter-Projekts den folgenden Befehl aus, um das Kern-Plug-in und das Vertex AI in Firebase-Plug-in zu installieren:

    flutter pub add firebase_core && flutter pub add firebase_vertexai
    
  2. Importieren Sie in die Datei lib/main.dart das Firebase-Kern-Plug-in, das Vertex AI in Firebase-Plug-in und die zuvor generierte Konfigurationsdatei:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_vertexai/firebase_vertexai.dart';
    import 'firebase_options.dart';
    
  3. Initialisieren Sie Firebase in der Datei lib/main.dart mit dem DefaultFirebaseOptions-Objekt, das von der Konfigurationsdatei exportiert wurde:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Erstellen Sie Ihre Flutter-Anwendung neu:

    flutter run
    

Schritt 3: Vertex AI-Dienst initialisieren und GenerativeModel-Instanz erstellen

Bevor Sie API-Aufrufe ausführen und einen Prompt an ein Gemini-Modell senden können, müssen Sie den Vertex AI-Dienst initialisieren und eine GenerativeModel-Instanz erstellen.

Swift

import FirebaseVertexAI

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

// Create a `GenerativeModel` instance with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")

Kotlin

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 create a `GenerativeModel` instance
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.generativeModel("gemini-2.0-flash")

Java

Bei Java geben die Streamingmethoden in diesem SDK einen Publisher-Typ aus der Reactive Streams-Bibliothek zurück.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-2.0-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Web

import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Vertex AI service
const vertexAI = getVertexAI(firebaseApp);

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(vertexAI, { model: "gemini-2.0-flash" });

Dart

import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

Nachdem Sie diesen Leitfaden zur Einführung durchgearbeitet haben, erfahren Sie, wie Sie ein Modell und (optional) einen Speicherort auswählen, die für Ihren Anwendungsfall und Ihre App geeignet sind.

Schritt 4: Prompt-Anfrage an ein Modell senden

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 eine Promptanfrage an ein Gemini-Modell senden.

Mit generateContent() können Sie Text aus einer Promptanfrage mit reinem Text generieren:

Swift

import FirebaseVertexAI

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

// Create a `GenerativeModel` instance with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")

// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")

Kotlin

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 create a `GenerativeModel` instance
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.generativeModel("gemini-2.0-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 eine ListenableFuture zurück.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-2.0-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);

Web

import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Vertex AI service
const vertexAI = getVertexAI(firebaseApp);

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(vertexAI, { model: "gemini-2.0-flash" });

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const prompt = "Write a story about a magic backpack."

  // To generate text output, call generateContent with the text input
  const result = await model.generateContent(prompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

run();

Dart

import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];

// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);

Was können Sie sonst noch tun?

Weitere Informationen zu den unterstützten 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 ausprobieren

Inhaltserstellung steuern

Mit Vertex AI Studio können Sie auch mit Prompts und Modellkonfigurationen experimentieren.


Feedback zu Vertex AI in Firebase geben