Gemini AI 模型

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

  • Gemini Pro:Gemini Pro 是 Google 的前沿思维模型,能够推理代码、数学和 STEM 领域的复杂问题,还能使用长上下文分析大型数据集、代码库和文档。
  • Gemini Flash:Gemini Flash 模型具备新一代特性和改进功能,包括卓越的速度、内置工具使用和 100 万个 token 的上下文窗口。

Firebase AI Logic

借助 Firebase AI Logic,开发者可以安全地直接将 Google 的生成式 AI 添加到应用中,从而简化开发流程,并提供工具和产品集成,帮助开发者成功做好正式版发布准备情况。它提供客户端 Android SDK,可直接从客户端代码集成和调用 Gemini API,从而无需后端,简化开发流程。

API 提供方

借助 Firebase AI Logic,您可以使用以下 Google Gemini API 提供程序:Gemini Developer API 和 Agent Platform Gemini API(以前称为 Vertex AI)。

插图:显示 Android 应用如何使用 Firebase Android SDK 向云端中的 Firebase 后端发送请求。请求可以路由到 Gemini Developer API 或 Agent Platform Gemini API,两者都利用 Gemini Pro 和 Flash 模型。
图 1. Firebase AI Logic 集成架构。

下面列出了各个 API 提供商的主要区别:

Gemini Developer API:

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

Agent Platform Gemini API(原 Vertex AI):

  • 可精细控制访问模型的位置。
  • 非常适合已融入 Google Cloud 生态系统的开发者。
  • 使用 Agent Studio 迭代和实验提示,甚至获取代码段。

为应用选择合适的 Gemini API 提供方取决于您的业务和技术限制。大多数刚开始使用 Gemini Pro 和 Flash 模型的 Android 开发者都应先使用 Gemini Developer API。通过更改模型构造函数中的参数,即可在提供方之间切换:

Kotlin

// For the Agent Platform Gemini API, use `backend = GenerativeBackend.agentPlatform()`
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel("gemini-3.5-flash")

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

Java

// For the Agent Platform Gemini API, use `backend = GenerativeBackend.agentPlatform()`
GenerativeModel firebaseAI = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-3.5-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);

在设备上、云端或混合环境中访问模型

除了上一部分中介绍的云端托管的 Gemini 模型之外,Firebase AI Logic SDK 还允许您访问设备端模型来构建应用的 AI 功能。如果您为 混合推理配置 SDK,您的应用可以在设备端模型可用时使用该模型,但也可以在需要时无缝回退到云端托管的模型(反之亦然)。

混合方法的主要优势包括:

  • 智能路由:简单任务在设备上处理,复杂问题会自动发送到云端进行深入分析。

  • 离线可用性:应用通过直接在设备上运行模型,即使没有互联网连接也能继续工作。重新联网后,您就可以访问云端托管的模型了。

  • 降低成本:在设备上而非云端运行日常任务可减少推理费用。

AI 功能的安全保障

Firebase AI Logic 支持多项功能,可让您在应用中安全地构建 AI 功能:

  • 验证应用真实性:当您直接从 Android 应用调用 Gemini API 时,该 API 很容易受到未经授权的客户端的滥用。您需要使用 Firebase AI Logic 并强制执行 Firebase App Check,以帮助保护它免遭滥用。强制执行 App Check 后,系统将仅允许经过验证的传入请求,这些请求必须来自您的实际应用或未经篡改的设备。App Check 支持将 Play Integrity 和 reCAPTCHA Enterprise 用作生产环境证明提供方。

  • 在服务器端存储提示:对于使用 Firebase AI Logic 向 Gemini API 发出的请求,您可以将提示、架构和配置存储在服务器端提示模板中。您的应用仅将客户端中的键(模板 ID)传递给服务器。使用服务器提示模板有助于防止在客户端公开提示。

  • 访问设备端模型:您可以使用 Firebase AI Logic 将请求路由到可用的设备端模型。请求(包括提示)绝不会离开设备。

构建生产版本

Firebase AI Logic 可帮助您在应用中构建强大的 AI 功能,并确保这些功能在生产环境中正常运行。如需了解详情,请参阅 Firebase AI Logic 生产核对清单。

访问权限和安全

  • 强制执行 Firebase App Check,以帮助保护 Gemini API 免遭直接从您的应用中调用时发生的滥用行为。强制执行 App Check 后,系统会验证传入请求是否来自您的真实应用或未经篡改的设备。

  • 强制执行已通过身份验证的用户模式,以便通过 Firebase AI Logic 发起的所有请求都必须包含来自 Firebase Authentication 的有效凭证。

监控、限制和结算

管理配置