本指南旨在帮助您将 Google 的生成式人工智能和机器学习 (AI/ML) 解决方案集成到您的应用中。它会提供指导,帮助您了解各种可用的人工智能和机器学习解决方案,并选择最符合您需求的解决方案。本文档旨在帮助您确定应使用哪种工具以及原因,重点是您的需求和应用场景。
为了帮助您根据具体需求选择最合适的 AI/机器学习解决方案,本文档中包含解决方案指南。通过回答一系列有关项目目标和限制条件的问题,该指南可引导您找到最合适的工具和技术。
本指南可帮助您为应用选择合适的 AI 解决方案。请考虑以下因素:数据类型(文本、图片、音频、视频)、任务的复杂程度(从简单的总结到需要专业知识的复杂任务)以及数据大小(短输入与大型文档)。这有助于您决定是在设备上使用 Gemini Nano,还是使用 Firebase 基于云端的 AI(Gemini Flash 或 Gemini Pro)。
充分利用设备端推理功能
向 Android 应用添加 AI 和 ML 功能时,您可以选择不同的交付方式,即在设备上交付或使用云交付。
Gemini Nano 等设备端解决方案可免费提供结果,增强用户隐私保护,并提供可靠的离线功能,因为输入数据是在本地处理的。这些优势对于某些使用情形(例如消息摘要)至关重要,因此在选择合适的解决方案时,设备端处理应是首要考虑因素。
借助 Gemini Nano,您可以直接在搭载 Android 的设备上运行推理。如果您要处理文本、图片或音频,可以先使用 ML Kit 的 GenAI API 来获取开箱即用型解决方案。机器学习套件生成式 AI API 由 Gemini Nano 提供支持,利用 AICore 作为底层系统服务,并针对特定的设备端任务进行了微调。ML Kit GenAI API 具有更高级别的接口和可伸缩性,是应用投入生产的理想途径。这些 API 可让您通过文本和图片输入发送自然语言请求,从而实现各种使用场景,例如图片理解、简短翻译、引导式总结等。
对于传统的机器学习任务,您可以灵活地实现自己的自定义模型。我们提供 机器学习套件、MediaPipe、LiteRT 和 Google Play 交付功能等强大的工具,以简化您的开发流程。
对于需要高度专业化解决方案的应用,您可以使用自己的自定义模型,例如 Gemma 或其他针对您的特定应用场景量身定制的模型。使用 LiteRT 直接在用户设备上运行模型,LiteRT 提供预设计的模型架构,可实现优化的性能。
您还可以考虑利用设备端模型和云端模型构建混合解决方案。
移动应用通常会针对聊天对话或博文等小型文本数据使用本地模型。不过,对于较大的数据源(例如 PDF)或需要额外知识时,可能需要使用基于云且搭载更强大的 Gemini 模型的解决方案。
集成高级 Gemini 模型
Android 开发者可以使用 Firebase AI Logic SDK 将 Google 的高级生成式 AI 功能(包括强大的 Gemini Pro 和 Gemini Flash 模型)集成到其应用中。此 SDK 专为满足更庞大的数据需求而设计,通过支持访问这些高性能多模态 AI 模型,提供更强大的功能和适应性。
借助 Firebase AI Logic SDK,开发者只需极少的精力即可在客户端调用 Google 的 AI 模型。这些模型(例如 Gemini Pro 和 Gemini Flash)在云端运行推理,使 Android 应用能够处理各种输入,包括图片、音频、视频和文本。Gemini Pro 擅长对复杂问题进行推理和分析海量数据,而 Gemini Flash 系列则具有出色的速度和足够大的上下文窗口,可满足大多数任务的需求。
何时使用传统机器学习
虽然生成式 AI 可用于创建和修改文本、图片和代码等内容,但许多现实世界的问题更适合使用传统的机器学习 (ML) 技术来解决。这些成熟的方法擅长执行涉及预测、分类、检测和理解现有数据中的模式的任务,与生成模型相比,它们通常具有更高的效率、更低的计算成本和更简单的实现。
对于侧重于分析输入、识别特征或根据学习到的模式进行预测的应用,传统机器学习框架可提供稳健、优化且通常更实用的解决方案,而不是生成全新的输出。Google 的机器学习套件、LiteRT 和 MediaPipe 等工具提供了强大的功能,可满足这些非生成性应用场景的需求,尤其是在移动和边缘计算环境中。
利用机器学习套件,快速开始机器学习集成
ML Kit 提供可用于生产环境且经过移动设备优化的解决方案,可用于执行常见的机器学习任务,无需具备任何机器学习专业知识。这款易用的移动 SDK 可将 Google 的机器学习专业技术直接融入到您的 Android 和 iOS 应用中,让您可以专注于功能开发,而不是模型训练和优化。ML Kit 提供预构建的 API 和现成可用的模型,用于实现条形码扫描、文本识别 (OCR)、人脸检测、图片标签、对象检测和跟踪、语言识别和智能回复等功能。
这些模型通常针对设备端执行进行了优化,可确保低延迟、离线功能和增强的用户隐私保护,因为数据通常保留在设备上。选择机器学习套件可快速为移动应用添加成熟的机器学习功能,而无需训练模型或生成输出内容。它非常适合使用 Google 的优化模型或通过部署自定义 TensorFlow Lite 模型来高效增强应用的“智能”功能。
如需开始使用,请访问 机器学习套件开发者网站,查看我们全面的指南和文档。
使用 LiteRT 进行自定义机器学习部署
如需获得更强的控制力或部署自己的机器学习模型,请使用基于 LiteRT 和 Google Play 服务的自定义机器学习堆栈。此堆栈为部署高性能机器学习功能提供了必要条件。LiteRT 是一套经过优化的工具包,可用于在资源受限的移动设备、嵌入式设备和边缘设备上高效运行 TensorFlow 模型,让您能够运行更小、更快且消耗更少内存、电量和存储空间的模型。LiteRT 运行时针对边缘设备上的各种硬件加速器(GPU、DSP、NPU)进行了高度优化,可实现低延迟推理。
如果您需要在计算能力或电池续航时间有限的设备(例如智能手机、IoT 设备或微控制器)上高效部署训练好的机器学习模型(通常用于分类、回归或检测),请选择 LiteRT。它是部署自定义或标准预测模型的首选解决方案,可用于在边缘设备上实现快速预测并节省资源。
详细了解如何使用 LiteRT 部署机器学习模型。
使用 MediaPipe 在应用中构建实时感知功能
MediaPipe 提供开源、跨平台且可自定义的机器学习解决方案,专为直播和流媒体而设计。利用经过优化的预构建工具来处理复杂任务,例如手部跟踪、姿势估计、人脸网格检测和对象检测,即使在移动设备上也能实现高性能的实时互动。
MediaPipe 基于图的流水线具有高度可自定义性,可让您为 Android、iOS、Web、桌面和后端应用量身定制解决方案。如果您的应用需要立即了解实时传感器数据(尤其是视频流)并做出反应,请选择 MediaPipe,以便用于手势识别、AR 效果、健身追踪或头像控制等用例,这些用例都侧重于分析和解读输入内容。
探索解决方案,并开始使用 MediaPipe 进行构建。
将应用与设备助理集成
虽然传统 AI 集成侧重于“将 AI 集成到应用中”,但您也可以“将应用集成到 AI 中”。通过将应用的功能贡献给系统 AI 功能,您可以让系统级助理(例如 Gemini)主动发现并调用应用的功能。AppFunctions 是实现此集成的主要方式,可让您的应用成为更广泛的 Android AI 生态系统中的参与者。相比之下,如果您的应用托管需要向用户返回交互式界面的应用内代理,请使用 Jetpack Compose A2UI 渲染器以原生方式显示代理驱动的界面。
选择一种方法
在将 AI 融入 Android 应用以提升应用性能时,您应考虑三种主要方法:在设备上执行处理、利用基于云的模型或将应用的功能添加到系统级 AI。借助机器学习套件、Gemini Nano 和 LiteRT 等工具,可以实现设备端功能,而 Gemini 云 API 与 Firebase AI Logic 相结合,可提供强大的云端处理能力。AppFunctions 代表第三条途径,让您可以通过以代理方式向系统提供应用的功能,从而“让您的应用进入 AI 领域”。
选择方法时,请考虑以下因素:
| 因素 | 设备端解决方案 | 云解决方案 |
|---|---|---|
| 连接和离线功能 | 非常适合离线使用;无需连接网络即可运行。 | 需要网络连接才能与远程服务器通信。 |
| 数据隐私 | 在设备本地处理和存储敏感数据。 | 数据会传输到云端,因此需要信任提供商的安全性。 |
| 曝光度和覆盖面 | 直接操作系统集成 (AppFunctions) 允许助理发现功能。 | 发现通常仅限于应用的内部界面或特定的 API 集成。 |
| 模型功能 | 经过优化,可实现低延迟,并能处理特定的低强度任务。 | 功能强大的模型,能够处理高复杂度和大型输入。 |
| 费用注意事项 | 不收取直接的按次使用费;利用现有设备硬件。 | 通常涉及基于使用情况的定价或持续订阅费用。 |
| 设备资源 | 利用本地存储空间、RAM 和电池续航时间。 | 本地影响极小;繁重的工作负载会分流到服务器。 |
| 微调 | 灵活性有限;受本地硬件功能限制。 | 可进行广泛的自定义和大规模调优,灵活性更高。 |
| 跨平台一致性 | 可用性可能会因操作系统和硬件支持而异。 | 在任何可访问互联网的平台上都能获得一致的体验。 |
通过仔细考虑您的使用情形要求和可用选项,您可以找到完美的 AI/ML 解决方案来增强 Android 应用,并为用户提供智能且个性化的体验。
AI/机器学习解决方案指南
本解决方案指南可帮助您确定合适的开发者工具,以便将 AI/ML 技术集成到 Android 项目中。
AI 功能的主要目标是什么?
- A) 生成新内容(文本、图片说明),还是执行简单的文本处理任务(总结、校对或重写文本)? → 前往生成式 AI
- B) 分析现有数据/输入以进行预测、分类、检测、了解模式或处理实时流(例如视频/音频)?→ 前往传统机器学习和感知
- C) 增强应用的功能以与系统 AI 功能集成(让应用进入 AI 时代)?→ 前往让您的应用支持 AI
- D) 渲染由 AI 代理生成的动态交互式界面? → 了解如何使用代理生成界面
传统机器学习和感知
您需要分析输入、识别特征或根据学习到的模式进行预测,而不是生成全新的输出。
您正在执行什么具体任务?
- A) 需要快速集成预构建的常见移动机器学习功能?
(例如,条形码扫描、文本识别 [OCR]、人脸检测、图片标签、对象检测和跟踪、语言 ID、基本智能回复)
- → 使用:机器学习套件(传统 API)
- 原因:可轻松集成到成熟的移动机器学习任务中,通常针对设备端使用进行了优化(低延迟、离线、隐私保护)。
- B) 需要处理实时流式数据(例如视频或音频)以执行感知任务?(例如手部跟踪、姿势估计、人脸网格、视频中的实时对象检测和分割)
- → 使用:MediaPipe
- 原因:专门用于在各种平台上构建高性能实时感知流水线的框架。
- C) 需要在设备上高效运行自行训练的机器学习模型(例如,用于分类、回归、检测),同时优先考虑性能和低资源使用率?
- → 使用:LiteRT(TensorFlow Lite 运行时)
- 原因:经过优化的运行时,可在移动设备和边缘设备上高效部署自定义模型(体积小、推理速度快、硬件加速)。
- D) 需要针对特定任务训练自己的自定义机器学习模型?
- → 用途:LiteRT(TensorFlow Lite 运行时)+ 自定义模型训练
- 原因:提供用于训练和部署自定义模型的工具,这些模型针对移动设备和边缘设备进行了优化。
- E) 需要进行高级内容分类、情感分析,或将内容翻译成多种细微差别的语言?
- 考虑传统机器学习模型(可能使用 LiteRT 或云端部署)是否合适,或者高级 NLU 是否需要生成式模型(返回“开始”,选择 A)。对于基于云的分类、情感分析或翻译:
- → 用例:基于云的解决方案(例如, Google Cloud Natural Language API、Google Cloud Translation API,可能通过自定义后端或 Gemini Enterprise Agent Platform 访问)。(如果离线或隐私至关重要,则优先级低于设备端选项)。
- 原因:云解决方案提供强大的模型和广泛的语言支持,但需要连接网络,并且可能会产生费用。
生成式 AI
您需要创建新内容、总结内容、改写内容,或者执行复杂的理解或互动任务。
您是否需要 AI 在离线状态下运行,需要最大限度地保护数据隐私权(将用户数据保留在设备上),或者希望避免云端推理费用?
- A) 是,离线、极高的隐私性或零云端费用至关重要。
- → 前往设备端生成式 AI
- B) 否,连接可用且可接受,云功能和可伸缩性更重要,或者特定功能需要云。
- → 前往 Cloud 生成式 AI
设备端生成式 AI(使用 Gemini Nano)
注意事项:需要使用兼容的 Android 设备,对 iOS 的支持有限,模型不如云端对应模型强大。
借助 ML Kit 的 Prompt API,您可以发送自然语言请求,并提供纯文本输入或文本和图片输入,以实现各种用例,例如图片理解、简短翻译和引导式总结。如果您的使用情形符合这些令牌限制,那么 ML Kit GenAI API 是您实现设备端生成式 AI 的最佳选择。机器学习套件还针对摘要生成和智能回复等常见任务提供了简化的 API。
- → 使用:机器学习套件生成式 AI API(由 Gemini Nano 提供支持)
- 原因:使用自然语言提示在设备上集成生成式 AI 任务的最简单方法,设备端解决方案的最高优先级。
Cloud 生成式 AI
使用更强大的模型,需要连接网络,通常会产生推理费用,支持更多设备,并且更容易实现跨平台(Android 和 iOS)一致性。
您优先考虑的是在 Firebase 中轻松集成,还是最大限度的灵活性/控制力?
- A) 希望集成更轻松、API 体验更顺畅,并且可能已在使用 Firebase?
- → 使用:Firebase AI Logic SDK → 前往 Firebase AI Logic
- B) 需要最大限度的灵活性,能够访问最广泛的模型(包括第三方/自定义模型),进行高级微调,并且愿意管理自己的后端集成(更复杂)?
- → 用例:使用自定义 Cloud 后端的 Gemini API(使用 Google Cloud Platform)
- 原因:提供最大的控制权、最广泛的模型访问权限和自定义训练选项,但需要投入大量后端开发工作。适合复杂、大规模或高度定制的需求。
(您选择了 Firebase AI Logic SDK)您需要哪种 生成式任务和性能配置?
- A) 需要兼顾性能和成本,适合一般文本生成、总结或聊天应用(速度很重要)?
- → 使用:搭配 Gemini Flash 的 Firebase AI Logic SDK
- 原因:在 Google Cloud 的受管环境中,针对速度和效率进行了优化。
- B) 需要更高质量和能力来处理复杂的文本生成、推理、高级 NLU 或指令遵从任务?
- → 使用:搭配 Gemini Pro 的 Firebase AI Logic SDK
- 原因:更强大的文本模型,可用于处理要求较高的任务,可通过 Firebase 访问。
AppFunctions
您需要增强应用的功能,以便与系统 AI 功能集成(让您的应用进入 AI 时代)。
- → 使用:AppFunctions
- 原因:使 Google 助理等系统 AI 功能能够发现并调用应用的功能。
使用智能体生成使用 Jetpack Compose 和 Material 3 的界面
您需要在应用中呈现由 AI 代理生成或请求的交互式界面。
- → 使用:Jetpack Compose A2UI 渲染器
- 原因:使智能体能够使用智能体到界面 (A2UI) 协议“说界面”,将动态智能体响应呈现为具有完整状态和事件处理的原生 Jetpack Compose 和 Material 3 组件。