在生产环境中使用 Vertex AI in Firebase 的核对清单

当您准备好发布应用并让真实的最终用户与您的生成式 AI 功能互动时,请务必查看此最佳实践和重要注意事项核对清单。

常规

查看适用于使用 Firebase 的应用的常规发布核对清单

这份 Firebase 发布核对清单介绍了在将任何 Firebase 应用发布为正式版之前的重要最佳做法。

确保您的 Firebase 项目遵循最佳实践

例如,请确保您为开发、测试和生产环境使用不同的 Firebase 项目。查看有关管理项目的更多最佳实践。

访问权限和安全

查看针对使用 Firebase 的应用的总体安全核对清单

安全核对清单介绍了有关 Firebase 应用和服务访问权限和安全性的重要最佳实践。

开始强制执行 Firebase App Check

App Check 通过验证请求是否来自实际应用,帮助保护 Vertex AI Gemini API。它支持 Apple 平台(DeviceCheck 或 App Attest)、Android(Play Integrity)和 Web (reCAPTCHA Enterprise) 的证明提供方。

为 Firebase API 密钥设置限制

  • 查看每个 Firebase API 密钥的“API 限制”许可名单:

  • 设置“应用限制”有助于将每个 Firebase API 密钥的使用限制为仅限来自您应用的请求(例如,Apple 应用的匹配软件包 ID)。请注意,即使您限制了密钥,我们仍强烈建议您使用 Firebase App Check

请注意,Firebase 相关 API 仅使用 API 密钥来标识 Firebase 项目或应用,不用于授权调用 API。

停用 Firebase 项目中所有未使用的 API

例如,如果您最初使用 Google AI Studio 试用 Gemini API,现在可以停用 Generative Language API。您的应用现在使用 Vertex AI in Firebase,该 API 依赖于 Vertex AI APIVertex AI in Firebase API

结算和配额

查看您对必需底层 API 的配额

使用 Vertex AI in Firebase 需要两个 API:Vertex AI API 和 Vertex AI in Firebase API。

每个 API 的配额衡量方式略有不同,这意味着它们可用于不同的用途。如需了解重要注意事项,请参阅了解每个 API 的配额

请注意,配额还会因型号和区域而异,因此请务必根据您的用户和用例相应地设置配额。

您还可以根据需要修改配额或申请增加配额

避免出现意外费用

对于正式版,最佳实践是监控使用情况设置预算提醒

配置管理

在生产应用中使用稳定的模型版本

在正式版应用中,请仅使用稳定模型版本(例如 gemini-1.5-flash-002),而不是预览版本或自动更新版本。

即使自动更新版本指向稳定版,但每当有新的稳定版发布时,它指向的实际模型版本都会自动更改,这可能会导致意外行为或响应。此外,仅建议在原型设计阶段使用预览版

我们还强烈建议使用 Firebase Remote Config 来控制和更新应用中使用的模型名称(如需了解详情,请参阅下一部分)。

设置和使用 Firebase Remote Config

借助 Remote Config,您可以在云端控制生成式 AI 功能的重要配置,而无需对代码中的值进行硬编码。这意味着您可以在不发布应用的新版本的情况下更新配置。您可以使用 Remote Config 做很多事情,不过我们建议您为生成式 AI 功能远程控制以下常用值:

  • 及时更新应用。

    • 模型名称:在新模型发布或其他模型停用时更新应用使用的模型。
  • 根据客户端属性调整值和输入,或根据测试或用户的反馈进行调整。

    • 模型配置:调整温度、输出 token 数上限等。

    • 安全设置:如果系统屏蔽了太多回答,或者用户举报了有害回答,请调整安全设置。

    • 系统说明您提供的任何提示:调整您发送给模型的其他上下文,以引导其响应和行为。例如,您可能需要为特定客户类型量身定制提示,或者为新用户提供与为现有用户生成回答时所用提示不同的个性化提示。

您还可以选择在 Remote Config 中设置 minimum_version 参数,以将应用的当前版本与 Remote Config 定义的最新版本进行比较,以向用户显示升级通知或强制用户升级。

设置运行 Vertex AI 服务及访问模型的位置

设置位置有助于降低费用,并防止用户出现延迟。

如果您未指定位置,则默认为 us-central1。您可以在初始化期间设置此位置,也可以根据需要使用 Firebase Remote Config 根据每个用户的位置动态更改位置