Vertex AI Gemini API

如果您是 Gemini API 的新用户,Gemini 开发者 API 是推荐的安卓开发者 API 提供商。但是,如果您有特定的数据位置要求,或者您已经在使用 Vertex AI 或 Google Cloud 环境,则可以使用 Vertex AI Gemini API。

从 Firebase 中的 Vertex AI 迁移

如果您最初使用 Firebase 中的 Vertex AI 集成了 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 开发者 API 配合使用的可用模型。您还可以了解配置模型参数

生成文本

要生成文本响应,请使用您的提示调用 generateContent()

Kotlin

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 开发者 API 类似,您还可以将图像、音频、视频和文件与文本提示一同传递(请参阅“从您的应用中与 Gemini 开发者 API 交互”)。

要了解有关 Firebase AI Logic SDK 的更多信息,请阅读Firebase 文档