当您准备好发布应用并让真实的最终用户与生成式 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 限制”许可名单:
确保 Vertex AI in Firebase API 已列入许可名单。
确保密钥许可名单中的其他 API 仅用于您在应用中使用的 Firebase 服务。请参阅每个产品需要列入许可名单的 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 API 和 Vertex 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 根据每个用户的位置动态更改位置。