Gemini AI 模型

Gemini Pro 和 Gemini Flash 模型系列为 Android 开发者提供多模态 AI 功能,可在云端运行推理,并在 Android 应用中处理图片、音频、视频和文本输入。

  • Gemini Pro:Gemini 2.5 Pro 是 Google 最先进的思维模型,能够推理代码、数学和 STEM 领域的复杂问题,并使用长上下文分析大型数据集、代码库和文档。
  • Gemini Flash:Gemini Flash 模型提供新一代功能和增强型功能,包括更快的速度、内置工具使用和 100 万个 token 的上下文窗口。

Firebase AI 逻辑

借助 Firebase AI Logic,开发者可以安全地直接将 Google 的生成式 AI 添加到其应用中,从而简化开发流程,并提供工具和产品集成,以便顺利实现正式版发布。它提供了客户端 Android SDK,可从客户端代码直接集成和调用 Gemini API,从而消除对后端的需求,简化开发流程。

API 提供方

借助 Firebase AI 逻辑,您可以使用以下 Google Gemini API 提供程序:Gemini Developer API 和 Vertex AI Gemini API

一张插图,显示了 Android 应用使用 Firebase Android SDK 连接到云端 Firebase。然后,AI 逻辑会通过以下两种途径进行集成:Gemini 开发者 API 或 Google Cloud Platform 的 Vertex AI,这两种途径都利用 Gemini Pro 和 Flash 模型。
图 1. Firebase AI Logic 集成架构。

下面是每种 API 提供商的主要区别:

Gemini Developer API

  • 免费开始使用宽裕的免费层级,无需提供付款信息。
  • 您可以选择升级到 Gemini Developer API 的付费层级,以便随着用户群的增长进行扩容。
  • 使用 Google AI Studio 迭代和实验提示,甚至获取代码段。

Vertex AI Gemini API

为应用选择合适的 API 提供商时,需要考虑您的业务和技术限制,以及对 Vertex AI 和 Google Cloud 生态系统的熟悉程度。大多数刚开始集成 Gemini Pro 或 Gemini Flash 的 Android 开发者都应先从 Gemini Developer API 入手。如需在提供程序之间切换,请更改模型构造函数中的参数:

Kotlin

// For Vertex AI, use `backend = GenerativeBackend.vertexAI()`
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel("gemini-2.0-flash")

val response = model.generateContent("Write a story about a magic backpack");
val output = response.text

Java

// For Vertex AI, use `backend = GenerativeBackend.vertexAI()`
GenerativeModel firebaseAI = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-2.0-flash");

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

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);

查看 Firebase AI Logic 客户端 SDK 支持的可用生成式 AI 模型的完整列表

Firebase 服务

除了提供对 Gemini API 的访问权限之外,Firebase AI Logic 还提供一组服务,可简化向应用部署支持 AI 的功能,并为正式版做好准备:

App Check

Firebase App Check 可确保只有已获授权的客户端才能访问资源,从而保护应用后端免遭滥用。它可与 Google 服务(包括 Firebase 和 Google Cloud)和自定义后端集成。App Check 使用 Play Integrity 来验证请求是否来自正版应用和未经篡改的设备。

Remote Config

我们建议您使用 Firebase Remote Config 使用由服务器控制的变量,而不是在应用中对模型名称进行硬编码。这样,您就可以动态更新应用使用的模型,而无需部署应用的新版本或要求用户使用新版本。您还可以使用 Remote Config 对模型和提示进行 A/B 测试

AI 监控

如需了解启用了 AI 的功能的效果,您可以使用 Firebase 控制台中的 AI 监控信息中心。您可以深入了解 Gemini API 调用的使用模式、性能指标和调试信息,从中获得有价值的数据分析。

迁移到 Firebase AI Logic

如果您的应用中已在使用 Vertex AI in Firebase SDK,请参阅迁移指南