为您的功能找到合适的 AI/机器学习解决方案

本指南可帮助您找到适合您应用场景的 AI/机器学习解决方案。它提供了指导,可帮助您了解各种可用解决方案,并根据您要实现的功能的要求,选择最适合您需求的解决方案。

一般来说,在选择工具和模型来实现 AI/ML 功能时,您应该使用能满足您需求的最简单的模型。为了确定最佳解决方案,您需要仔细考虑以下事项:

  • 该功能是需要生成新内容(生成式 AI),还是需要以确定性的方式进行预测/分类(传统机器学习)?
  • 功能范围:任务能否完全在应用内完成(应用内智能),还是需要多个应用才能完成(系统级智能)?
  • 模型位置:任务是否可以离线完成(设备端模型),还是需要与服务器交互(基于云的模型)?
  • 工具包或模型版本:任务的复杂程度如何,是从简单的单推理任务到多智能体编排?

以下流程图简要展示了决策过程:

是 否 是 否 是 否 是 并非全部 是 否 功能 您是否需要生成 新内容(而不是 预测或分类数据)? 生成式 AI 是否为跨应用 任务? 传统机器学习 系统智能 使用 AppFunctions 应用内智能 该功能能否离线运行? 或者您是否有成本 限制? 目标设备是否 支持设备端 模型? 您是否需要该功能在应用关闭时 继续运行(状态保持不变), 或者需要 私有数据库访问权限? 设备端模型 通过机器学习套件 或 LiteRT 使用 Gemini Nano 混合方法 首选设备端模型, 但使用云端模型 作为后备 云端模型 使用自定义 自托管服务器 云端模型 通过 Firebase AI Logic 使用代管式后端
图 1. 选择 AI/机器学习解决方案的高级决策流程。

如需在每个步骤中做出明智的决策,请参阅本文档其余部分中的各个部分。

生成式 AI 与传统机器学习

生成式 AI 模型会创建新内容,而传统机器学习模型则会以完全确定的方式预测结果或对数据进行分类。如果您的功能不涉及生成新内容,那么传统的机器学习解决方案可能就足够了。下表总结了一些传统机器学习解决方案:

工具包/解决方案 类型 主要应用场景 示例
机器学习套件 SDK 设备上的音乐 预构建的视觉和自然语言处理任务
  • OCR 收据扫描器
  • 快速扫描二维码签到
  • 离线菜单翻译
LiteRT 设备上的音乐 自定义模型运行时
  • 医学图像分类
  • 针对小众主题的智能键盘联想词
MediaPipe 设备上的音乐 实时视频或音频串流感知任务
  • 实时锻炼姿势指导
  • 面部滤镜和特效
  • 手势识别
Google Cloud API,包括 Cloud Vision API 和 Cloud Natural Language API 基于云 预构建的视觉和自然语言处理任务
  • 自动视频字幕
  • 图片质量控制和合规性
Agent Platform 基于云 端到端自定义模型训练和部署
  • 大规模专业图像识别
  • 搜索图库照片

本文档的其余部分将介绍生成式 AI 解决方案。

应用内智能与系统级智能

如需确定最佳生成式 AI 解决方案,请确定您的 AI 功能是完全在应用内运行,还是需要与应用外的其他应用或 Android OS 互动。如果您的功能由系统在应用外触发,则属于系统级智能。下表总结了应用内智能功能与系统级智能功能之间的区别:

应用内智能 系统级智能
任务范围 应用内 跨应用(或由系统触发,在任何应用之外)
工具 机器学习套件 SDK、LiteRT、Firebase AI Logic 或自托管后端 AppFunctions
用例
  • 总结、校对或转写文本
  • 描述图片
  • 构建应用内聊天机器人
  • 生成图片
  • 根据您在记事文档中写下的内容,在配送应用中创建一份购物清单
  • 预订前往办公室的行程,并向同事发送预计到达时间
  • 在电子邮件收件箱中查找推荐的餐厅并进行预订

应用内智能

应用内智能功能无需与应用之外的其他应用或系统进行交互。确定 AI 功能完全在应用内运行后,您需要决定是完全在设备端运行该功能、使用基于云的模型,还是采用结合两者的混合方法。

如果您要执行任何需要视频输入的操作或涉及多个智能体的任务,则应使用云端模型。下表比较了设备端模型与云端模型的功能:

设备上的音乐 Cloud
工具 机器学习套件 SDK 或 LiteRT Firebase AI Logic 或自托管后端
输入类型
  • 文本
  • 图片
  • 音频
  • 文本
  • 图片
  • 音频
  • 视频
输出类型
  • 文本
  • 文本
  • 图片
  • 音频
用户数据敏感度 较高 较低
模型
  • Gemma
  • Gemini Nano
  • Gemini Flash
  • Gemini Flash Lite
  • Gemini Pro
用例
  • 处理简短内容,例如总结、校对或改写简短的聊天消息或电子邮件
  • 描述图片
  • 根据用户的兴趣为其提供个性化输出
  • 处理敏感的用户数据
  • 转写简短的音频片段
  • 构建聊天机器人
  • 生成图片
  • 实时翻译对话内容
  • 应用内照片编辑
  • 多智能体任务

设备端模型

如果存在以下任一情况,则设备端模型可能更合适:

  • 费用限制
  • 功能必须能够离线运行
  • 隐私权要求
  • 手头的任务相对简单,不需要多智能体编排

请注意,用户的设备必须能够支持设备端模型。 设备端模型通常需要更高端的设备,以便支持本地处理。

确定设备端模型足以满足功能需求后,选择最佳工具包或解决方案主要取决于任务的复杂程度。下表总结了设备端应用内生成式 AI 工具的选项:

任务复杂性 特征 示例 工具包/解决方案
低
  • 单次推理
  • 纯生成
总结文字
中
  • 增强型 LLM
  • 函数调用
  • 对话记录
查询和回答
高
  • 单智能体循环,不断循环,直到任务完成
客户反馈或错误分类

使用机器学习套件 Prompt API 可轻松生成单轮或多轮对话文本。如果您的功能需要在设备端自主执行多步操作,请使用机器学习套件生成式 AI 智能体 API。Agent API 支持设备端推理循环,该循环可以规划、使用 @Tool 注解调用类型化工具、在互动之间持久保存会话上下文,以及使用 maxTurns 强制执行轮次限制。

云端模型

如果您的功能无法完全在设备端运行,则需要使用基于云的模型。使用云端模型主要有两种方式:

  • 使用 Firebase AI Logic 的托管式后端。如果您已经是 Firebase 用户,或者想要相对快速地制作原型,Firebase AI Logic 可能是最佳解决方案。

  • 自定义后端或自托管服务器。如果您想使用非 Gemini 模型、有严格的隐私权要求,或者需要完成非常复杂的任务,则可能需要使用自定义后端。我们还建议您使用以下工具进行自定义后端设置:

    • 让自定义后端运行智能体框架,例如智能体开发套件
    • 使用 AG-UI 将应用前端连接到智能体后端
    • 让智能体能够使用 A2UI 生成丰富的交互式界面

下表总结了何时应使用 Firebase AI Logic 或自定义后端来实现基于云端的应用内生成式 AI 工具:

任务复杂性 特征 示例 工具包/解决方案
低
  • 单次推理
  • 纯生成
总结文字
  • Firebase AI Logic
  • 自定义后端
中
  • 增强型 LLM
  • 函数调用
  • 对话记录
查询和回答
  • Firebase AI Logic
  • 自定义后端
高
  • 单智能体循环,不断循环,直到任务完成
客户反馈或错误分类
  • 自定义后端
很高
  • 多代理编排
创建智能体团队,管理行程的各个方面
  • 自定义后端

混合方法

如果您的功能可以在本地运行,但并非所有用户的设备都支持设备端模型,并且您需要使用云端模型作为后备,请使用混合方法。如需了解详情,请参阅混合推理。

系统级智能

系统级智能使 Android 平台能够充当任务编排器。系统级智能使 Gemini 等系统代理能够跨多个应用和 Web 服务完成用户请求。

如需将应用与 Android 智能系统连接,请根据您是希望通过程序化控制还是通过自动化界面驱动的操作来选择集成方法:

集成选项 使用场景
AppFunctions 让智能体能够发现并执行应用中的特定端侧功能。
远程 MCP 服务器 让应用中的特定功能可直接与智能体的后端集成。非常适合跨平台开发。
电脑控制 允许 OEM 预加载的助理通过直接与应用的界面互动来自动执行任务。

如需详细了解系统级智能工具选项,请参阅将应用连接到 Android 智能系统。