ML Kit の生成 AI API の概要

ML Kit の GenAI API は、Gemini Nano のパワーを活用して、アプリがタスクを実行できるようにします。これらの API は、高度なインターフェースを通じて、一般的なユースケースにすぐに使用できる品質を提供します。ML Kit GenAI API は AICore をベースに構築されています。AICore は、生成 AI 基盤モデルのオンデバイス実行を可能にする Android システム サービスです。ローカルでデータを処理することで、アプリの機能強化やユーザーのプライバシー保護の向上などの機能を実現します。

GenAI API の使用には、ML Kit GenAI API 追加利用規約が適用されます。API クライアントの安全性とアプリのユーザー エクスペリエンスについては、デベロッパーが単独で責任を負います。

主な機能

ML Kit GenAI API は、次の機能をサポートしています。

  • 要約: 記事やチャットの会話を箇条書きで要約します。
  • 校正: 文法を修正し、スペルミスを修正して、短いコンテンツを洗練します。
  • 書き換え: 短いメッセージをさまざまなトーンやスタイルで書き換えます。
  • 画像の説明: 指定された画像の簡単な説明を生成します。
  • プロンプト: カスタムのテキストのみのプロンプトまたはマルチモーダル プロンプトに基づいてテキスト コンテンツを生成します。

生成 AI API のメリット

他の既存の ML Kit 機能と同様に、GenAI API は完全にオンデバイスで実行されるため、次のようなメリットがあります。

  • 入力データ、推論データ、出力データはローカルで処理される
  • 安定したインターネット接続がない場合でも機能は変わりません
  • API 呼び出しごとに追加のサーバー費用が発生しない

また、GenAI API は AICore を基盤として構築され、Gemini Nano を搭載しているため、すべてのアプリはデバイス上の共有 Gemini Nano モデルを使用できます。これにより、モデルがデバイスにすでに存在する場合に、モデルのダウンロードを待つ必要がなくなり、ストレージ容量を節約できます。AICore がリクエストを分離してプライバシーを保護する方法について学習する。

ストリーミングと非ストリーミング

ML Kit GenAI API では、結果を受け取るためのストリーミング オプションと非ストリーミング オプションの両方が用意されています。ストリーミング API は、レスポンスが生成されるたびに段階的に配信し、データの継続的なフローを提供します。一方、非ストリーミング API は、レスポンス全体が完了するまで待機してから、単一のブロックとして返します。

長いレスポンスには、ストリーミング API を選択します。これにより、初期フィードバックを迅速に取得できます。非ストリーミング API は、短いレスポンスや結果を一括で処理する場合に適しています。

デバイスのサポート

以降のセクションで説明するように、生成 AI 機能固有の API(要約、校正、書き換え、画像の説明)は、Prompt API とは異なるデバイス サポートを備えています。

機能固有の API デバイスのサポート

要約校正書き換え画像の説明の各 API は、以下のデバイスでご利用いただけます。今後、サポート対象のデバイスを拡大する予定です。

  • Google: Google Pixel 10、Google Pixel 10 Pro、Google Pixel 10 Pro XL、Google Pixel 10 Pro Fold、Google Pixel 9、Google Pixel 9 Pro、Google Pixel 9 Pro XL、Google Pixel 9 Pro Fold
  • Honor: Honor 400 Pro、Magic 6 Pro、Magic 6 RSR、Magic 7、Magic 7 Pro、Magic V3
  • iQOO: iQOO 13
  • Motorola: Razr 60 Ultra
  • OnePlus: OnePlus 13、OnePlus 13s
  • OPPO: Find N5、Find X8、Find X8 Pro
  • POCO: POCO F7 Ultra
  • realme: realme GT 7 Pro
  • Samsung: Galaxy S25、Galaxy S25+、Galaxy S25 Ultra
  • vivo: vivo X200、vivo X200 Pro、vivo X Fold3 Pro、vivo X Fold5
  • Xiaomi: Xiaomi 15 Ultra、Xiaomi 15

特定の言語のサポートの利用可否は、特定のデバイスの構成と、デバイスにダウンロードされたモデルによって異なる場合があります。

Prompt API のデバイス サポート

プロンプト API は現在、次のデバイスでサポートされています。

nano-v2

  • Google: Google Pixel 9、Google Pixel 9 Pro、Google Pixel 9 Pro XL、Google Pixel 9 Pro Fold
  • Honor: Magic V5、Magic 7、Magic 7 Pro
  • iQOO: iQOO 13
  • Motorola: Razr 60 Ultra
  • OnePlus: OnePlus 13、OnePlus 13s、OnePlus Pad 3
  • OPPO: Find N5
  • POCO: POCO F7 Ultra
  • realme: realme GT 7 Pro
  • Samsung: Galaxy Z Fold7
  • Xiaomi: Xiaomi 15 Ultra、Xiaomi 15

nano-v3

  • Google: Google Pixel 10、Google Pixel 10 Pro、Google Pixel 10 Pro XL、Google Pixel 10 Pro Fold

Gemini Nano のバージョンを取得する

Gemini Nano のバージョンはデバイスによって異なります。デバイスの Gemini Nano のバージョンを返すには、getBaseModelName() を使用します。

アプリケーションごとの割り当て

AICore は、アプリごとに推論割り当てを適用します。つまり、短期間に GenAI API リクエストを過剰に送信すると、ErrorCode.BUSY レスポンスが返されます。このようなエラーを受け取った場合は、指数バックオフを使用してリクエストを再試行することを検討してください。

バックグラウンドでの使用量

GenAI API 推論は、アプリがトップ フォアグラウンド アプリケーションの場合にのみ許可されます。アプリがフォアグラウンドにないときに API を使用すると(フォアグラウンド サービスの使用を含む)、現在のところバックグラウンド使用量の割り当てがないため、ErrorCode.BUSY レスポンスが返されます。

サンプルコード

このコードを取得するには、次のサンプルをご覧ください。