本指南可帮助您找到适合您应用场景的 AI/机器学习解决方案。它提供了指导,可帮助您了解各种可用解决方案,并根据您要实现的功能的要求,选择最适合您需求的解决方案。
一般来说,在选择工具和模型来实现 AI/ML 功能时,您应该使用能满足您需求的最简单的模型。为了确定最佳解决方案,您需要仔细考虑以下事项:
- 该功能是需要生成新内容(生成式 AI),还是需要以确定性的方式进行预测/分类(传统机器学习)?
- 功能范围:任务能否完全在应用内完成(应用内智能),还是需要多个应用才能完成(系统级智能)?
- 模型位置:任务是否可以离线完成(设备端模型),还是需要与服务器交互(基于云的模型)?
- 工具包或模型版本:任务的复杂程度如何,是从简单的单推理任务到多智能体编排?
以下流程图简要展示了决策过程:
如需在每个步骤中做出明智的决策,请参阅本文档其余部分中的各个部分。
生成式 AI 与传统机器学习
生成式 AI 模型会创建新内容,而传统机器学习模型则会以完全确定的方式预测结果或对数据进行分类。如果您的功能不涉及生成新内容,那么传统的机器学习解决方案可能就足够了。下表总结了一些传统机器学习解决方案:
| 工具包/解决方案 | 类型 | 主要应用场景 | 示例 |
|---|---|---|---|
| 机器学习套件 SDK | 设备上的音乐 | 预构建的视觉和自然语言处理任务 |
|
| 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 或自托管后端 |
| 输入类型 |
|
|
| 输出类型 |
|
|
| 用户数据敏感度 | 较高 | 较低 |
| 模型 |
|
|
| 用例 |
|
|
设备端模型
如果存在以下任一情况,则设备端模型可能更合适:
- 费用限制
- 功能必须能够离线运行
- 隐私权要求
- 手头的任务相对简单,不需要多智能体编排
请注意,用户的设备必须能够支持设备端模型。 设备端模型通常需要更高端的设备,以便支持本地处理。
确定设备端模型足以满足功能需求后,选择最佳工具包或解决方案主要取决于任务的复杂程度。下表总结了设备端应用内生成式 AI 工具的选项:
| 任务复杂性 | 特征 | 示例 | 工具包/解决方案 |
|---|---|---|---|
| 低 |
|
总结文字 |
|
| 中 |
|
查询和回答 | |
| 高 |
|
客户反馈或错误分类 |
使用机器学习套件 Prompt API 可轻松生成单轮或多轮对话文本。如果您的功能需要在设备端自主执行多步操作,请使用机器学习套件生成式 AI 智能体 API。Agent API 支持设备端推理循环,该循环可以规划、使用 @Tool 注解调用类型化工具、在互动之间持久保存会话上下文,以及使用 maxTurns 强制执行轮次限制。
云端模型
如果您的功能无法完全在设备端运行,则需要使用基于云的模型。使用云端模型主要有两种方式:
使用 Firebase AI Logic 的托管式后端。如果您已经是 Firebase 用户,或者想要相对快速地制作原型,Firebase AI Logic 可能是最佳解决方案。
自定义后端或自托管服务器。如果您想使用非 Gemini 模型、有严格的隐私权要求,或者需要完成非常复杂的任务,则可能需要使用自定义后端。我们还建议您使用以下工具进行自定义后端设置:
下表总结了何时应使用 Firebase AI Logic 或自定义后端来实现基于云端的应用内生成式 AI 工具:
| 任务复杂性 | 特征 | 示例 | 工具包/解决方案 |
|---|---|---|---|
| 低 |
|
总结文字 |
|
| 中 |
|
查询和回答 |
|
| 高 |
|
客户反馈或错误分类 |
|
| 很高 |
|
创建智能体团队,管理行程的各个方面 |
|
混合方法
如果您的功能可以在本地运行,但并非所有用户的设备都支持设备端模型,并且您需要使用云端模型作为后备,请使用混合方法。如需了解详情,请参阅混合推理。
系统级智能
系统级智能使 Android 平台能够充当任务编排器。系统级智能使 Gemini 等系统代理能够跨多个应用和 Web 服务完成用户请求。
如需将应用与 Android 智能系统连接,请根据您是希望通过程序化控制还是通过自动化界面驱动的操作来选择集成方法:
| 集成选项 | 使用场景 |
|---|---|
| AppFunctions | 让智能体能够发现并执行应用中的特定端侧功能。 |
| 远程 MCP 服务器 | 让应用中的特定功能可直接与智能体的后端集成。非常适合跨平台开发。 |
| 电脑控制 | 允许 OEM 预加载的助理通过直接与应用的界面互动来自动执行任务。 |
如需详细了解系统级智能工具选项,请参阅将应用连接到 Android 智能系统。