ML Kit 的 GenAI API 運用 Gemini Nano 的強大功能,協助應用程式執行裝置端生成式 AI 工作。這些 API 建構於 AICore 之上,AICore 是一項 Android 系統服務,可管理裝置端基礎模型並加速推論,同時保護使用者資料隱私。
使用 GenAI API 時,須遵守《ML Kit GenAI API 附加服務條款》。開發人員須全權負責 API 用戶端的安全性,以及應用程式的使用者體驗。
主要功能
ML Kit 將生成式 AI 功能分為下列類別:
自訂生成和代理
直接使用 Gemini Nano 基礎模型,自訂提示和自主 Agentic Workflows:
- 直接存取模型 (使用
GenerativeModel類別):根據自訂純文字或多模態提示,生成文字或特定類型的結構化輸出內容,或使用具有USER和MODEL角色和sessionId值的List<Content>物件,直接管理自己的多輪對話記錄,並直接管理工具宣告。 - Agentic Workflows (使用
AgentRunner類別):以GenerativeModel類別為基礎建構,可自動管理多輪對話工作階段 (包括記憶體中的對話記錄) 和多步驟工具呼叫迴圈。
語音和音訊
在裝置端轉錄、翻譯及合成語音音訊:
文字和圖片工作
使用專為常見視覺、寫作和搜尋工作最佳化的特定工作 API,不需提示工程:
生成式 AI API 的優點
與其他現有的 ML Kit 功能類似,GenAI API 完全在裝置端執行,因此具有下列優點:
- 輸入、推論和輸出資料會在本機處理
- 即使沒有穩定的網路連線,功能仍維持不變
- 每次 API 呼叫都不會產生額外的伺服器費用
此外,由於 GenAI API 是以 AICore 為基礎建構,並由 Gemini Nano 提供技術支援,因此應用程式和特定工作 API 會在裝置上共用相同的 Gemini Nano 基礎模型。如果裝置上已有 Gemini Nano,就不必等待下載其他模型,進而節省儲存空間。進一步瞭解 AICore 如何隔離要求以保護隱私權。
串流與非串流
ML Kit GenAI API 提供串流和非串流兩種接收結果的方式。串流 API 會在生成回覆時逐步提供,形成連續的資料流。相較之下,非串流 API 會等到整個回覆完成後,才以單一區塊的形式傳回。
如果回覆內容較長,請選擇串流 API,以便更快取得初步回饋。非串流 API 較適合用於簡短回覆或批次處理結果。
確認裝置支援情形
以下各節將說明裝置對自訂生成、代理、文字和圖片 Tasks API 的支援情形。如需本節未列出的功能,請參閱個別功能頁面,瞭解裝置支援資訊。
自訂生成和代理裝置支援
下列裝置支援直接存取模型和Agentic Workflows:
nano-v2 |
|
nano-v3 |
|
nano-v4 |
|
文字和圖片工作裝置支援
圖片說明、摘要、校對和重寫 API 適用於下列裝置,我們也計劃擴大支援更多裝置:
- Google:Pixel 11、Pixel 11 Pro、Pixel 11 Pro XL、Pixel 11 Pro Fold、Pixel 10、Pixel 10 Pro、Pixel 10 Pro XL、Pixel 10 Pro Fold、Pixel 9、Pixel 9 Pro、Pixel 9 Pro XL、Pixel 9 Pro Fold
- Honor:Honor 400 Pro、Magic 7、Magic 7 Pro、Magic 8 Pro、Magic V5
- iQOO:iQOO 13、iQOO 15
- Lenovo:Lenovo Idea Tab Pro Gen 2、Lenovo Legion Tab Gen 5(8.8 吋)
- Motorola:Razr 60 Ultra、Razr Ultra 2025、Signature
- OnePlus:OnePlus 15、OnePlus 15R、OnePlus 13、OnePlus 13s
- OPPO:Find N5、Find X9、Find X9 Pro、Find X8、Find X8 Pro、Reno 14 Pro 5G、Reno 15 Pro 5G、Reno 15 Pro Mini 5G、Reno 15 Pro Max 5G
- POCO:POCO F7 Ultra、POCO F8 Pro、POCO F8 Ultra、POCO X7 Pro、POCO X8 Pro
- realme:realme GT 7 Pro、realme GT 7T
- Samsung:Galaxy S25、Galaxy S25+、Galaxy S25 Ultra、Galaxy S26、Galaxy S26+、Galaxy S26 Ultra、Galaxy Z Flip8、Galaxy Z Fold8、Galaxy Z Fold8 Ultra、Galaxy Z Fold7、Galaxy Z TriFold
- Sharp:AQUOS R11
- Sony:Xperia 1 VIII
- vivo:vivo X200T、vivo X200 FE、vivo X200、vivo X200 Pro、vivo X300、X300 Pro、vivo X Fold3 Pro、vivo X Fold5、vivo T4 Ultra
- 小米:Xiaomi 14T Pro、Xiaomi 15、Xiaomi 15T、Xiaomi 15T Pro、Xiaomi 15 Ultra、Xiaomi 17、Xiaomi 17 Ultra、Xiaomi Pad Mini
特定語言支援的可用性,可能因特定裝置的設定和已下載至裝置的模型而異。
擷取 Gemini Nano 版本
不同裝置搭載的 Gemini Nano 版本也不同。如要傳回裝置上的 Gemini Nano 版本,請使用 getBaseModelName() 方法。
每個應用程式的配額
AICore 會對每個應用程式強制執行推論配額。如果在短時間內發出過多 GenAI API 要求,會導致 ErrorCode.BUSY 回應。如果收到這類錯誤,建議您使用指數輪詢策略重試要求。此外,如果應用程式超過長期配額 (例如每日配額),系統也會傳回 ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED。
在背景使用
只有在應用程式位於前景最上層時,才能執行 GenAI API 推論。如果應用程式不在前景時使用 API (包括使用前景服務),會導致 ErrorCode.BACKGROUND_USE_BLOCKED 回應。
程式碼範例
如要取得這段程式碼,請參閱下列範例: