Google 提供了广泛的业界领先 AI 模型和 API,可用于云端推理和设备端推理。借助混合推理,您可以在本地设备和云端之间无缝平衡 AI 工作负载,从而优化性能、成本和可用性。
混合推理可为 Android 应用带来两大主要优势:
- 最大限度地扩大覆盖面:当设备端模型(例如 Gemini Nano)因设备硬件或操作系统限制而无法使用时,云模型可作为关键的后备方案。这有助于确保您的 AI 功能在尽可能多的用户设备上保持正常运行。
- 费用和离线功能:设备端模型有助于确保 AI 功能在用户离线时也能顺畅运行。此外,将日常任务分流到本地设备有助于降低云端推理费用。
以下分别是设备端推理和云端推理的优势:
| 设备端推理 | 云端推理 |
|---|---|
| 可离线使用 | 与任何设备兼容 |
| 无推理费用 | 高级模型功能 |
实现选项
您可以使用以下方法实现混合推理:
Firebase AI Logic Hybrid API
Firebase AI Logic Hybrid API 提供了一个统一的接口,用于在云端模型和设备端模型之间路由推理。
- 自动切换:您可以配置应用,使其尽可能在设备上运行 AI 任务。这意味着,应用的功能可在离线状态下运行,具有增强的隐私保护功能,并且不会产生云推理费用。如果设备端模型不可用,SDK 可以自动将请求路由到云端托管的 Gemini 模型。
- 防范滥用:直接从移动应用调用 Cloud API 可能会导致凭据泄露,并产生不必要的费用。不过,当您使用 Firebase AI Logic 时,还会强制执行 Firebase App Check,该服务可通过验证只有您未经篡改的真实应用才能访问云端 Gemini API 来帮助防止滥用行为。
- 支出限额:在将请求路由到云端托管的模型时,您可以配置支出上限,以帮助您保护云预算并避免产生意外费用。
在应用中,您可以定义 onDeviceConfig 参数来控制推理模式并管理路由:
PREFER_ON_DEVICE:尝试使用设备端模型;如果设备端模型不可用或不支持相应请求,则自动回退到云端托管模型。PREFER_IN_CLOUD:尝试在设备在线且模型可用时使用云托管模型;仅当设备离线时才回退到设备端模型。ONLY_ON_DEVICE:尝试使用设备端模型;如果设备端模型不可用或不支持相应请求,则抛出异常。ONLY_IN_CLOUD:当设备在线且模型可用时,尝试使用云端托管的模型;在所有其他情况下,抛出异常。
val model = Firebase.ai(backend = GenerativeBackend.Companion.googleAI()) .generativeModel( modelName = "gemini-3.5-flash", onDeviceConfig = OnDeviceConfig(mode = InferenceMode.Companion.PREFER_ON_DEVICE) ) val response = model.generateContent("Write a story about a green robot.") print(response.text)
如需了解实现详情,请查看 Firebase 文档,并探索 AI 目录中的混合 AI 示例。
将工作负载迁移到云端可能会公开 Cloud API 端点。使用 Firebase AI Logic 时,您可以通过强制执行 Firebase App Check 直接从客户端应用安全地访问基于云端的 Gemini 模型,这有助于保护基于云端的推理免遭未经授权的访问和滥用结算。 这有助于确保混合回退机制既可用又安全。
自定义路由
如果您的应用有特定的业务或用户体验要求,您还可以实现自定义路由逻辑。这样一来,您就可以根据实时因素(例如:)动态确定推理路径:
- 网络延迟
- 设备系统健康状况(例如电池电量和处理器负载)
- 用户查询复杂度
这种自定义混合推理方法已被实现了自己的自定义路由的领先应用所采用,以提供可靠的 AI 体验,包括:
Gboard:Gboard 使用自定义混合推理技术来支持校对和重写等写作工具。
Kakao Mobility: Kakao Mobility 为其包裹递送服务构建了一款实体提取工具,该工具使用自定义混合推理技术,可从自然语言消息中自动提取收件人姓名、地址和电话号码,从而简化订单表单。