通过 Vertex AI in Firebase SDK 开始使用 Gemini API


本指南介绍了如何开始使用适用于所选平台的 Vertex AI in Firebase SDK 直接从应用调用 Vertex AI Gemini API

请注意,您还可以使用本指南开始使用 Vertex AI in Firebase SDK 访问 Imagen 模型

前提条件

本指南假定您熟悉如何使用 Android Studio 为 Android 开发应用。

  • 确保您的开发环境和 Android 应用满足以下要求:

    • Android Studio(最新版本)
    • 您的 Android 应用必须以 API 级别 21 或更高级别为目标平台。
  • (可选)查看示例应用。

    下载示例应用

    您可以快速试用 SDK,查看各种用例的完整实现,或者使用示例应用(如果您没有自己的 Android 应用)。如需使用示例应用,您需要将其关联到 Firebase 项目

第 1 步:设置 Firebase 项目并将应用连接到 Firebase

如果您已有 Firebase 项目和已与 Firebase 相关联的应用

  1. Firebase 控制台中,前往使用 Gemini 进行构建页面

  2. 点击 Vertex AI in Firebase 卡片可启动一个工作流,帮助您完成以下任务:

  3. 继续执行本指南中的下一步,将 SDK 添加到您的应用。

如果您还没有 Firebase 项目和与 Firebase 关联的应用

  1. 登录 Firebase 控制台

  2. 点击创建项目,然后使用以下任一方法:

    • 方法 1:在“创建项目”工作流的第一步中输入新项目名称,创建一个全新的 Firebase 项目(该操作会自动创建相应的底层 Google Cloud 项目)。

    • 方法 2:在“创建项目”工作流的第一步中从下拉菜单中选择一个现有 Google Cloud 项目的名称,将 Firebase 添加到该现成的 Google Cloud 项目。

    请注意,如果系统提示您是否要设置 Google Analytics,您无需进行此项设置即可使用 Vertex AI in Firebase SDK。

  3. Firebase 控制台中,前往使用 Gemini 进行构建页面

  4. 点击 Vertex AI in Firebase 卡片可启动一个工作流,帮助您完成以下任务:

  1. 继续执行控制台的生成式 AI 工作流,将您的应用关联到 Firebase,其中包括以下任务:

    • 在 Firebase 项目中注册您的应用。

    • 将 Firebase 配置文件 (google-services.json) 和 google-services Gradle 插件添加到您的应用。

  2. 在本指南的后续步骤中,您将向应用添加 Vertex AI in Firebase SDK,并完成使用该 SDK 和 Gemini API 所需的初始化。


第 2 步:添加 SDK

设置完 Firebase 项目并将应用关联到 Firebase(请参阅上一步)后,您现在可以将 Vertex AI in Firebase SDK 添加到应用了。

Vertex AI in Firebase SDK for Android (firebase-vertexai) 提供对 API 的访问权限,以便与 GeminiImagen 模型交互。

在您的模块(应用级)Gradle 文件(例如 <project>/<app-module>/build.gradle.kts)中,添加适用于 Android 的 Vertex AI in Firebase 库的依赖项。我们建议使用 Firebase Android BoM 来实现库版本控制。

KotlinJava
dependencies {
    // ... other androidx dependencies

    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.10.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,您需要额外添加两个库。

dependencies {
    // ... other androidx dependencies

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

借助 Firebase Android BoM,可确保您的应用使用的始终是 Firebase Android 库的兼容版本。

如果您选择不使用 Firebase BoM,则必须在每个 Firebase 库的依赖项行中指定相应的库版本。

请注意,如果您在应用中使用多个 Firebase 库,我们强烈建议您使用 BoM 来管理库版本,从而确保所有版本都兼容。

dependencies {
    // Add the dependency for the Vertex AI in Firebase library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-vertexai:16.2.0")
}

第 3 步:初始化 Vertex AI 服务和生成式模型

您需要先初始化 Vertex AI 服务和生成式模型,然后才能发出任何 API 调用并提示 Gemini 模型。

KotlinJava
对于 Kotlin,此 SDK 中的方法是挂起函数,需要从协程作用域调用。
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.generativeModel("gemini-2.0-flash")
对于 Java,此 SDK 中的流式传输方法会从 Reactive Streams 库返回 Publisher 类型。
// Initialize the Vertex AI service and the generative model
// 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);

完成本入门指南后,了解如何选择适合您的应用场景和应用的模型和(可选)位置

第 4 步:向模型发送提示请求

现在,您已将应用与 Firebase 相关联、添加了 SDK,并初始化了 Vertex AI 服务和生成式模型,接下来可以向 Gemini 模型发送提示请求了。

您可以使用 generateContent() 根据纯文本提示请求生成文本:

KotlinJava
对于 Kotlin,此 SDK 中的方法是挂起函数,需要从协程作用域调用。
// Initialize the Vertex AI service and the generative model
// 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,此 SDK 中的方法会返回 ListenableFuture
// Initialize the Vertex AI service and the generative model
// 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);

您还可以执行以下操作

详细了解支持的模型

了解适用于各种用例的模型及其配额价格

试用 Gemini API 的其他功能

了解如何控制内容生成

  • 了解提示设计,包括最佳实践、策略和示例提示。
  • 配置模型参数,例如温度和输出 token 数上限(适用于 Gemini)或宽高比和人物生成(适用于 Imagen)。
  • 使用安全设置来调整收到可能被视为有害的回答的可能性。
您还可以使用 Vertex AI Studio 对提示和模型配置进行实验。


提供有关 Vertex AI in Firebase 使用体验的反馈