Vertex AI Gemini API

如果您是 Gemini API 的新手,建议 Android 开发者使用 Gemini Developer API 作为 推荐的 API 提供方。不过,如果您有特定的 数据 位置要求,或者您已嵌入 Vertex AI 或 Google Cloud 环境,则可以使用 Vertex AI Gemini API。

从 Vertex AI in Firebase 迁移

如果您最初使用 Vertex AI in Firebase 集成了 Gemini Flash 和 Pro 模型,则可以迁移到 Vertex AI 并继续使用 Vertex AI 作为 API 提供方。 如需详细的迁移指南,请参阅 Firebase 文档。

使用入门

在直接从应用与 Vertex AI Gemini API 交互之前,您可以在 Vertex AI Studio 中试用提示。

设置 Firebase 项目并将您的应用连接到 Firebase

准备好从应用调用 Vertex AI Gemini API 后,请按照 Firebase AI Logic 使用入门指南的“第 1 步”中的说明,在应用中设置 Firebase 和 SDK。

添加 Gradle 依赖项

将以下 Gradle 依赖项添加到应用模块:

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.11.0"))

  // Add the dependency for the Firebase AI Logic library. When using the BoM,
  // you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
}

初始化生成模型

首先,实例化 GenerativeModel 并指定模型名称:

Kotlin

val model = Firebase.ai(backend = GenerativeBackend.vertexAI())
    .generativeModel("gemini-2.5-flash")

Java

GenerativeModel firebaseAI = FirebaseAI.getInstance(GenerativeBackend.vertexAI())
        .generativeModel("gemini-2.5-flash");

GenerativeModelFutures model = GenerativeModelFutures.from(firebaseAI);

在 Firebase 文档中,您可以详细了解可与 Gemini Developer API 搭配使用的 可用 模型。您还可以了解 如何配置模型参数

生成文本

如需生成文本响应,请使用提示调用 generateContent()

Kotlin

suspend fun generateText(model: GenerativeModel) {
    // Note: generateContent() is a suspend function, which integrates well
    // with existing Kotlin code.
    val response = model.generateContent("Write a story about a magic backpack.")
    // ...
}

Java

Content prompt = new Content.Builder()
        .addText("Write a story about a magic backpack.")
        .build();

ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        // ...
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

与 Gemini Developer API 类似,您还可以将图片、音频、视频和文件与文本提示一起传递。如需了解详情,请参阅从应用与 Gemini Developer API 交互

如需详细了解 Firebase AI Logic SDK,请参阅 Firebase 文档