Die GenAI APIs von ML Kit nutzen die Leistungsfähigkeit von Gemini Nano, um Ihre Apps bei der Ausführung von generativen KI-Aufgaben auf dem Gerät zu unterstützen. Diese APIs basieren auf AICore, einem Android-Systemdienst, der Foundation Models auf dem Gerät verwaltet und die Inferenz beschleunigt, während die Nutzerdaten privat bleiben.
Für die Nutzung der GenAI APIs gelten die Zusatzbedingungen für die ML Kit GenAI API. Entwickler sind allein für die Sicherheit ihres API-Clients und die Nutzerfreundlichkeit ihrer App verantwortlich.
Hauptmerkmale
Das ML Kit unterteilt seine Funktionen für generative KI in die folgenden Kategorien:
Benutzerdefinierte Generierung und KI-Agenten
Sie können direkt mit dem Gemini Nano-Foundation Model arbeiten, um benutzerdefinierte Prompts und autonome agentenbasierte Workflows zu erstellen:
- Direkter Modellzugriff (mit der Klasse
GenerativeModel): Generieren Sie Text oder typisierte strukturierte Ausgaben aus benutzerdefinierten Nur-Text- oder multimodalen Prompts oder verwalten Sie Ihren eigenen Multi-Turn-Chatverlauf direkt mit einemList<Content>-Objekt mit den RollenUSERundMODELund einemsessionId-Wert. Verwalten Sie Tooldeklarationen direkt. - Agentische Workflows (mit der Klasse
AgentRunner): Diese Workflows basieren auf der KlasseGenerativeModelund automatisieren die Verwaltung von Sitzungen mit mehreren Turns (einschließlich des Unterhaltungsverlaufs im Arbeitsspeicher) und mehrstufige Toolaufrufschleifen.
Sprache und Audio
Sprachaudio auf dem Gerät transkribieren, übersetzen und synthetisieren:
- Spracherkennung: Transkribieren Sie gesprochene Audioinhalte in Text in derselben Sprache.
- Sprachübersetzung: Gesprochene Audioinhalte in Echtzeit in Text in einer anderen Sprache übersetzen.
- Text-zu-Sprache: Natürlich klingende Sprachausgabe aus Text synthetisieren.
Text- und Bildaufgaben
Verwenden Sie aufgabenspezifische APIs, die für gängige Vision-, Schreib- und Suchaufgaben optimiert sind, ohne Prompt Engineering:
- Bildbeschreibung: Generieren Sie eine kurze Beschreibung eines bestimmten Bildes.
- Zusammenfassung: Artikel oder Chatunterhaltungen als Aufzählungsliste zusammenfassen.
- Korrekturlesen: Kurze Inhalte durch Verfeinern der Grammatik und Beheben von Rechtschreibfehlern optimieren.
- Umformulieren: Kurze Nachrichten in verschiedenen Tonfällen oder Stilen umformulieren.
- Semantische Suche: Generieren Sie mit der Embedding API Vektoreinbettungen für Text und Bilder und kombinieren Sie sie mit AndroidX AppSearch, um Inhalte nach Bedeutung zu finden.
Vorteile von GenAI APIs
Ähnlich wie andere vorhandene ML Kit-Funktionen werden GenAI APIs vollständig auf dem Gerät ausgeführt und bieten daher die folgenden Vorteile:
- Eingabe-, Inferenz- und Ausgabedaten werden lokal verarbeitet
- Die Funktionalität bleibt auch ohne zuverlässige Internetverbindung gleich.
- Keine zusätzlichen Serverkosten für jeden API-Aufruf
Da GenAI APIs auf AICore basieren und von Gemini Nano unterstützt werden, nutzen Apps und aufgabenspezifische APIs außerdem dasselbe zugrunde liegende Gemini Nano-Basismodell auf dem Gerät. So muss nicht auf den Download eines separaten Modells gewartet werden, wenn Gemini Nano bereits auf einem Gerät vorhanden ist. Außerdem wird Speicherplatz gespart. Weitere Informationen dazu, wie AICore Anfragen isoliert, um die Privatsphäre zu schützen
Streaming im Vergleich zu Nicht-Streaming
Die GenAI APIs von ML Kit bieten sowohl Streaming- als auch Nicht-Streaming-Optionen für den Empfang von Ergebnissen. Die Streaming API liefert Antworten schrittweise, während sie generiert werden, und sorgt so für einen kontinuierlichen Datenfluss. Im Gegensatz dazu wartet die Nicht-Streaming-API, bis die gesamte Antwort vollständig ist, bevor sie als einzelner Block zurückgegeben wird.
Wählen Sie die Streaming API für lange Antworten aus, da sie schnelleres erstes Feedback ermöglicht. Die Nicht-Streaming-API eignet sich besser für kurze Antworten oder für die Verarbeitung von Ergebnissen in Batches.
Geräteunterstützung
Die Geräteunterstützung für die benutzerdefinierte Generierung und Agenten sowie für Text- und Bildaufgaben-APIs wird in den folgenden Abschnitten beschrieben. Informationen zur Geräteunterstützung für Funktionen, die nicht in diesem Abschnitt aufgeführt sind, finden Sie auf den Seiten der einzelnen Funktionen.
Unterstützung für benutzerdefinierte Generierung und Agent-Geräte
Direkter Modellzugriff und agentische Workflows werden auf den folgenden Geräten unterstützt:
nano-v2 |
|
nano-v3 |
|
nano-v4 |
|
Geräteunterstützung für Text- und Bildaufgaben
Die APIs für Bildbeschreibung, Zusammenfassung, Korrekturlesen und Umschreiben sind auf den folgenden Geräten verfügbar. Die Unterstützung soll auf weitere Geräte ausgeweitet werden:
- 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: Xiaomi 14T Pro, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17 Ultra, Xiaomi Pad Mini
Die Verfügbarkeit der Unterstützung für bestimmte Sprachen kann je nach Konfiguration des Geräts und den auf das Gerät heruntergeladenen Modellen variieren.
Gemini Nano-Version abrufen
Auf verschiedenen Geräten werden unterschiedliche Versionen von Gemini Nano ausgeführt. Verwenden Sie die Methode getBaseModelName(), um die Version von Gemini Nano auf einem Gerät zurückzugeben.
Kontingent pro Anwendung
AICore erzwingt ein Inferenzkontingent pro App. Wenn Sie in kurzer Zeit zu viele GenAI API-Anfragen stellen, erhalten Sie die Antwort ErrorCode.BUSY. Wenn Sie einen solchen Fehler erhalten, sollten Sie die Anfrage mit exponentiellem Backoff wiederholen. Außerdem kann ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED zurückgegeben werden, wenn eine App ein langfristiges Kontingent (z. B. ein Tageskontingent) überschreitet.
Hintergrundnutzung
Die Inferenz der GenAI API ist nur zulässig, wenn die App die oberste Vordergrundanwendung ist. Wenn die API verwendet wird, während die App nicht im Vordergrund ausgeführt wird, einschließlich der Verwendung eines Dienstes im Vordergrund, wird eine ErrorCode.BACKGROUND_USE_BLOCKED-Antwort zurückgegeben.
Beispielcode
Diesen Code finden Sie in den folgenden Beispielen: