本指南旨在協助您將 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,取得現成解決方案。ML Kit GenAI API 採用 Gemini Nano,並以 AICore 做為基礎系統服務,經過微調後可執行特定裝置端工作。ML Kit GenAI API 具有較高層級的介面和可擴充性,是應用程式的理想正式版路徑。這些 API 可讓您透過文字和圖片輸入內容傳送自然語言要求,支援各種用途,例如圖像解讀、簡短翻譯、引導式摘要等。
對於傳統機器學習工作,您可以彈性實作自己的自訂模型。我們提供 ML Kit、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 的 ML Kit、LiteRT 和 MediaPipe 等工具提供強大的功能,專為這些非生成式用途設計,特別是在行動裝置和邊緣運算環境中。
使用 ML Kit 整合機器學習功能
ML Kit 提供適用於正式環境的行動裝置最佳化解決方案,可處理常見的機器學習工作,無須具備機器學習專業知識。這款好上手的行動版 SDK 可直接將 Google 的機器學習專業知識帶入 Android 和 iOS 應用程式,讓您專注於功能開發,不必費心模型訓練及最佳化。ML Kit 提供預先建構的 API 和可立即使用的模型,支援條碼掃描、文字辨識 (OCR)、臉部偵測、圖像標籤、物件偵測和追蹤、語言辨識,以及智慧回覆等功能。
這些模型通常會針對裝置端執行作業進行最佳化,確保低延遲、離線功能,以及加強使用者隱私權,因為資料通常會保留在裝置上。選擇 ML Kit,即可快速在行動應用程式中加入已建立的機器學習功能,不必訓練模型或要求生成輸出內容。您可以使用 Google 的最佳化模型,或部署自訂 TensorFlow Lite 模型,有效率地為應用程式加入「智慧」功能,是理想的選擇。
如要開始使用,請前往 ML Kit 開發人員網站,參閱詳盡指南和說明文件。
使用 LiteRT 部署自訂機器學習模型
如要進一步控管或部署自己的機器學習模型,請使用以 LiteRT 和 Google Play 服務為基礎建構的自訂機器學習堆疊。這個堆疊提供部署高效能機器學習功能的基本要素。LiteRT 是一套經過最佳化的工具包,可在資源受限的行動裝置、嵌入式裝置和邊緣裝置上有效率地執行 TensorFlow 模型,讓您執行體積更小、速度更快,且耗用較少記憶體、電力和儲存空間的模型。LiteRT 執行階段經過高度最佳化,適用於邊緣裝置上的各種硬體加速器 (GPU、DSP、NPU),可實現低延遲推論。
如要在運算能力或電池續航力有限的裝置 (例如智慧型手機、物聯網裝置或微控制器) 上,有效部署訓練好的機器學習模型 (通常用於分類、迴歸或偵測),請選擇 LiteRT。這是部署自訂或標準預測模型的首選解決方案,可讓您在邊緣裝置上以最快速度執行模型,並節省資源。
進一步瞭解如何使用 LiteRT 部署 ML。
使用 MediaPipe 在應用程式中建構即時感知功能
MediaPipe 提供開放原始碼、跨平台且可自訂的機器學習解決方案,專為即時和串流媒體設計。運用預先建構的最佳化工具,處理手部追蹤、姿勢估算、臉部網格偵測和物體偵測等複雜工作,即使在行動裝置上也能實現高效能的即時互動。
MediaPipe 的圖表式管道可高度自訂,讓您為 Android、iOS、網頁、電腦和後端應用程式量身打造解決方案。如果應用程式需要瞭解即時感應器資料 (尤其是影片串流) 並立即做出反應,請選擇 MediaPipe,適用於手勢辨識、AR 效果、健身追蹤或虛擬人偶控制等用途,重點在於分析及解讀輸入內容。
探索解決方案,並使用 MediaPipe 開始建構。
將應用程式與裝置助理整合
傳統的 AI 整合方式著重於「將 AI 導入應用程式」,但您也可以「將應用程式導入 AI」。將應用程式功能提供給系統 AI 功能,可讓系統層級的助理 (例如 Gemini) 探索及以代理程式方式叫用應用程式功能。AppFunctions 是達成這項整合的主要方式,可讓您的應用程式參與更廣泛的 Android AI 生態系統。相反地,如果應用程式代管的應用程式內建代理程式需要向使用者傳回互動式 UI,請使用 Jetpack Compose A2UI Renderer,以原生方式顯示代理程式驅動的介面。
選擇適用的方式
將 AI 整合到 Android 應用程式時,建議考慮三種主要做法:在裝置端執行處理作業、運用雲端模型,或將應用程式功能新增至系統層級的 AI。ML Kit、Gemini Nano 和 LiteRT 等工具可啟用裝置端功能,而 Firebase AI Logic 搭配 Gemini 雲端 API 則可提供強大的雲端處理功能。AppFunctions 代表第三種路徑,可讓您「將應用程式導入 AI」,讓系統以代理程式的形式使用應用程式功能。
選擇做法時,請考量下列因素:
| 因素 | 裝置端解決方案 | 雲端解決方案 |
|---|---|---|
| 連線和離線功能 | 適合離線使用,無需網路連線即可運作。 | 需要網路連線才能與遠端伺服器通訊。 |
| 資料隱私權 | 在裝置本機處理及儲存私密資料。 | 資料會傳輸至雲端,因此必須信任供應商的安全性。 |
| 曝光度和觸及 | 直接整合 OS (AppFunctions) 可讓智慧助理探索功能。 | 通常僅限於應用程式的內部 UI 或特定 API 整合。 |
| 模型功能 | 適合低延遲和特定、較不密集的任務。 | 可處理高複雜度和大量輸入內容的強大模型。 |
| 費用注意事項 | 不會直接收取使用費,而是使用現有裝置硬體。 | 通常包括依用量計費或持續訂閱費用。 |
| 裝置資源 | 使用本機儲存空間、RAM 和電池續航力。 | 對本機的影響極小,繁重的工作會卸載至伺服器。 |
| 微調 | 彈性有限,受限於本機硬體功能。 | 可進行大規模調整,並提供大量自訂內容,更具彈性。 |
| 跨平台一致性 | 實際支援情況視作業系統和硬體而定。 | 在任何可連上網際網路的平台上,都能獲得一致的體驗。 |
請仔細考量您的用途需求和可用選項,找出最適合的 AI/機器學習解決方案,提升 Android 應用程式的效能,為使用者提供智慧型個人化體驗。
AI/機器學習解決方案指南
這份解決方案指南可協助您找出合適的開發人員工具,將 AI/機器學習技術整合至 Android 專案。
AI 功能的主要目標為何?
- A) 生成新內容 (文字、圖片說明),或執行簡單的文字處理作業 (摘要、校對或重寫文字)? → 前往「生成式 AI」
- B) 分析現有資料/輸入內容,以進行預測、分類、偵測、瞭解模式或處理即時串流 (例如影片/音訊)?→ 前往「傳統機器學習與感知」
- C) 強化應用程式功能,與系統 AI 功能整合 (讓應用程式支援 AI 功能)?→ 前往「讓 AI 存取您的應用程式」
- D) 顯示 AI 代理生成的動態互動式 UI? → 瞭解如何使用代理生成 UI
傳統機器學習和感知
您需要分析輸入內容、找出特徵,或根據所學模式進行預測,而不是產生全新的輸出內容。
你正在執行哪項特定工作?
- A) 需要快速整合預先建構的常見行動裝置機器學習功能嗎?
(例如條碼掃描、文字辨識 (OCR)、臉部偵測、圖片標籤、物件偵測和追蹤、語言 ID、基本智慧回覆)
- → 使用:ML Kit (傳統 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) 是,離線、隱私權防護最高或無雲端費用至關重要。
- B) 否,連線功能可用且可接受,雲端功能和擴充性更重要,或特定功能需要雲端。
- → 前往 Cloud 生成式 AI
裝置端生成式 AI (使用 Gemini Nano)
注意事項:需要相容的 Android 裝置,iOS 支援有限,模型效能不如雲端版本。
透過 ML Kit 的 Prompt API,您可以傳送僅含文字或文字和圖片的自然語言要求,用於各種用途,例如瞭解圖片內容、簡短翻譯和引導式摘要。如果這些詞元限制符合您的使用需求,ML Kit GenAI API 就是裝置端生成式 AI 的最佳選擇。ML Kit 也提供簡化的 API,可執行摘要和智慧回覆等常見工作。
- → 使用:ML Kit GenAI API (由 Gemini Nano 提供技術支援)
- 原因:使用自然語言提示在裝置端整合生成式 AI 工作最簡單的方法,也是裝置端解決方案的最高優先順序。
雲端生成式 AI
使用更強大的模型、需要連線、通常會產生推論成本、適用於更多裝置,且更容易跨平台 (Android 和 iOS) 保持一致性。
您優先考量的是:在 Firebase 中輕鬆整合,還是盡可能提高彈性/控管能力?
- A) 偏好更簡單的整合方式、受管理的 API 體驗,且可能已使用 Firebase?
- → 使用:Firebase AI Logic SDK → 前往 Firebase AI Logic
- B) 需要最大彈性、存取最多樣的模型 (包括第三方/自訂模型)、進階微調,且願意管理自己的後端整合 (較複雜)?
- → 使用:Gemini API 搭配自訂 Cloud 後端 (使用 Google Cloud Platform)
- 原因:提供最高的控制權、最廣泛的模型存取權和自訂訓練選項,但需要投入大量後端開發工作。適合複雜、大規模或高度客製化的需求。
(您選擇 Firebase AI Logic SDK) 您需要哪種生成式工作和效能設定檔?
- A) 需要兼顧效能和成本,適合用於一般文字生成、摘要或聊天應用程式,且重視速度?
- → 使用:Firebase AI Logic SDK 與 Gemini Flash
- 原因:在 Google Cloud 的代管環境中,可發揮最佳速度和效率。
- B) 需要更高品質和能力,才能生成複雜文字、推論、進階 NLU 或遵循指令?
- → 使用:Firebase AI Logic SDK 和 Gemini Pro
- 原因:透過 Firebase 存取更強大的文字模型,執行高難度工作。
AppFunctions
您需要強化應用程式功能,與系統 AI 功能整合 (讓應用程式支援 AI)。
- → 使用:AppFunctions
- 原因:啟用系統 AI 功能 (例如 Google 助理),發掘及叫用應用程式的功能。
使用代理程式生成採用 Jetpack Compose 和 Material 3 的 UI
您需要在應用程式中,算繪 AI 代理產生或要求的互動式 UI。
- → 使用:Jetpack Compose A2UI 轉譯器
- 原因:讓代理使用 agent-to-UI (A2UI) 通訊協定「說出 UI」,將動態代理回應算繪為原生 Jetpack Compose 和 Material 3 元件,並完整處理狀態和事件。