当您准备好发布应用并让真实最终用户与生成式 AI 功能互动时,请务必查看此清单,了解最佳实践和重要注意事项。
常规
查看使用 Firebase 的应用的一般发布核对清单
此 Firebase 发布核对清单介绍了在将任何 Firebase 应用发布到生产环境之前应遵循的重要最佳实践。
确保您的 Firebase 项目遵循最佳实践
例如,请确保您使用不同的 Firebase 项目来开发、测试和生产。查看有关管理项目的更多最佳实践。
访问权限和安全
查看使用 Firebase 的应用的一般安全核对清单
此安全核对清单介绍了 Firebase 应用和服务在访问权限和安全性方面的重要最佳实践。
开始强制执行 Firebase App Check
Firebase App Check 有助于保护可让您访问 Gemini 和 Imagen 模型的 API。App Check 可验证请求是否来自您的实际应用和真实的、未经篡改的设备。它支持 Apple 平台(DeviceCheck 或 App Attest)、Android(Play Integrity)和 Web(reCAPTCHA Enterprise)的证明提供方,并且还支持 Flutter 和 Unity 应用的所有这些提供方。
此外,为了为即将推出的通过App Check重放保护功能实现的增强保护做好准备,我们建议您在应用中启用对限次使用型令牌的使用。
为 Firebase API 密钥设置限制
- 查看每个 Firebase API 密钥的 “API 限制”许可名单: - 确保 Firebase AI Logic API 位于许可名单中。 
- 确保密钥的许可名单中仅包含您在应用中使用的 Firebase 服务的其他 API。请参阅每个产品需要列入许可名单的 API 列表。 
 
- 设置“应用限制”有助于将每个 Firebase API 密钥的使用仅限于来自您应用的请求(例如,Apple 应用的匹配软件包 ID)。请注意,即使您限制了密钥,我们仍强烈建议您使用 Firebase App Check。 
请注意,Firebase 相关 API 仅使用 API 密钥来标识 Firebase 项目或应用,不用于授权调用 API。
结算、监控和配额
避免出现意外费用
如果您的 Firebase 项目采用的是随用随付 Blaze 定价方案,请监控用量并设置预算提醒。
在 Firebase 控制台中设置 AI 监控
设置 AI 监控,以便了解请求、延迟时间、错误和 token 使用情况等关键性能指标。AI 监控还可以通过显示各个轨迹来帮助您检查和调试 Firebase AI Logic 功能。
查看所需底层 API 的配额
- 确保您了解每个必需 API 的配额。 
- 设置每位用户的速率限制(默认值为 100 RPM)。 
- 根据需要修改配额或申请增加配额。 
配置管理
在生产应用中使用稳定的模型版本
在正式版应用中,请仅使用稳定版模型版本(例如 gemini-2.0-flash-001),而不要使用预览版、实验版或自动更新别名。
虽然自动更新稳定版别名指向的是稳定版,但它指向的实际模型版本会在每次发布新的稳定版时自动更改,这可能会导致意外的行为或回答。此外,建议仅在原型设计期间使用预览版和实验版。
设置和使用 Firebase Remote Config
借助 Remote Config,您可以在云端控制生成式 AI 功能的重要配置,而不是在代码中对值进行硬编码。这意味着,您无需发布新版应用即可更新配置。Remote Config 的用途非常广泛,但我们建议您远程控制以下值,以用于生成式 AI 功能:
- 及时更新应用版本。 - 模型名称:随着新模型的发布或旧模型的停用,更新您的应用使用的模型。
 
- 根据客户属性调整值和输入,或根据测试或用户的反馈进行调整。 - 模型配置:调整温度、输出 token 数量上限等。 
- 安全设置:如果系统屏蔽了过多的回答,或者用户举报了有害的回答,请调整安全设置。 
- 系统指令和您提供的任何提示:调整您发送给模型的额外上下文,以引导模型的回答和行为。例如,您可能希望针对特定客户类型量身定制提示,或者为新用户提供与用于为现有用户生成回答的提示不同的个性化提示。 
 
您还可以选择在 Remote Config 中设置 minimum_version 参数,以将应用的当前版本与 Remote Config 定义的最新版本进行比较,从而向用户显示升级通知或强制用户升级。
设置访问模型的位置
| 仅在将 Vertex AI Gemini API 用作 API 提供方时可用。 | 
设置用于访问模型的位置有助于控制费用,还可以帮助防止用户遇到延迟问题。
如果您未指定位置,则默认值为 us-central1。您可以在初始化期间设置此位置,也可以选择使用 Firebase Remote Config 根据每个用户的地理位置动态更改位置。