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 并继续将其用作 API 提供方。如需详细的迁移指南,请参阅 Firebase 文档。

使用入门

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

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

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

添加 Gradle 依赖项

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

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 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.0-flash")

Java

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

GenerativeModelFutures model = GenerativeModelFutures.from(firebaseAI);

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

生成文本

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

Kotlin

// Note: generateContent() is a suspend function, which integrates well
// with existing Kotlin code.
scope.launch {
  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 文档