Omówienie interfejsów API generatywnej AI w ML Kit

Interfejsy GenAI API w ML Kit wykorzystują możliwości Gemini Nano, aby pomagać aplikacjom w wykonywaniu zadań opartych na generatywnej AI na urządzeniu. Te interfejsy API są oparte na AICore, usłudze systemowej Androida, która zarządza modelami podstawowymi na urządzeniu i przyspiesza wnioskowanie, zachowując prywatność danych użytkownika.

Korzystanie z interfejsów GenAI API podlega Dodatkowym warunkom korzystania z usługi ML Kit GenAI API. Deweloperzy ponoszą wyłączną odpowiedzialność za bezpieczeństwo swojego klienta API i za wrażenia użytkowników aplikacji.

Najważniejsze funkcje

Zestaw ML Kit dzieli funkcje generatywnej AI na te kategorie:

Generowanie niestandardowe i agenty

Pracuj bezpośrednio z modelem podstawowym Gemini Nano, aby tworzyć niestandardowe prompty i autonomiczne Agentic Workflows:

  • Bezpośredni dostęp do modelu (za pomocą klasy GenerativeModel): generuj tekst lub ustrukturyzowane dane wyjściowe z niestandardowych promptów tekstowych lub multimodalnych albo zarządzaj własną historią czatu wieloetapowego bezpośrednio za pomocą obiektu List<Content> z rolami USER i MODEL oraz wartością sessionId, a także bezpośrednio zarządzaj deklaracjami narzędzi.
  • Agentic Workflows (przy użyciu klasy AgentRunner): oparte na klasie GenerativeModel, automatyzują zarządzanie sesjami wieloetapowymi (w tym historią rozmów w pamięci) i wieloetapowe pętle wywoływania narzędzi.

Mowa i dźwięk

Transkrybuj, tłumacz i syntetyzuj mowę na urządzeniu:

Zadania tekstowe i graficzne

Używaj interfejsów API zoptymalizowanych pod kątem typowych zadań związanych z widzeniem komputerowym, pisaniem i wyszukiwaniem bez inżynierii promptów:

  • Opis obrazu: wygeneruj krótki opis danego obrazu.
  • Podsumowanie: podsumuj artykuły lub rozmowy na czacie w formie listy punktowanej.
  • Korekta: ulepszaj krótkie treści, poprawiając gramatykę i błędy ortograficzne.
  • Przepisywanie: przepisywanie krótkich wiadomości w różnych tonach lub stylach.
  • Wektory dystrybucyjne: generuj wektory dystrybucyjne dla tekstu i obrazów za pomocą interfejsu Embeddings API i łącz je z AndroidX AppSearch, aby znajdować treści według znaczenia.

Zalety interfejsów API generatywnej AI

Podobnie jak inne funkcje ML Kit, interfejsy API generatywnej AI działają całkowicie na urządzeniu, co zapewnia te korzyści:

  • Dane wejściowe, wnioskowania i wyjściowe są przetwarzane lokalnie.
  • Funkcje pozostają takie same bez niezawodnego połączenia z internetem
  • Brak dodatkowych kosztów serwera za każde wywołanie interfejsu API

Dodatkowo, ponieważ interfejsy API GenAI są oparte na AICore i wykorzystują Gemini Nano, aplikacje i interfejsy API do konkretnych zadań współdzielą ten sam podstawowy model Gemini Nano na urządzeniu. Dzięki temu nie trzeba czekać na pobranie osobnego modelu, jeśli Gemini Nano jest już na urządzeniu, co pozwala zaoszczędzić miejsce na dane. Dowiedz się więcej o tym, jak AICore izoluje żądania, aby chronić prywatność.

Odtwarzanie strumieniowe a inne metody odtwarzania

Interfejsy ML Kit GenAI API oferują zarówno opcje strumieniowe, jak i niestrumieniowe do otrzymywania wyników. Interfejs API do strumieniowania dostarcza odpowiedzi przyrostowo w miarę ich generowania, zapewniając ciągły przepływ danych. Z kolei interfejs API bez strumieniowania czeka na zakończenie całej odpowiedzi, zanim zwróci ją jako pojedynczy blok.

W przypadku długich odpowiedzi wybierz interfejs API do strumieniowania, ponieważ umożliwia on szybsze uzyskanie początkowej odpowiedzi. Interfejs API bez strumieniowania jest bardziej odpowiedni w przypadku krótkich odpowiedzi lub przetwarzania wyników w partiach.

Obsługa urządzeń

Obsługa niestandardowego generowania i agentów oraz interfejsów API do zadań tekstowych i obrazowych na urządzeniach jest opisana w sekcjach poniżej. Informacje o obsłudze funkcji, które nie są wymienione w tej sekcji, znajdziesz na stronach poszczególnych funkcji.

Generowanie niestandardowe i obsługa urządzeń agenta

Bezpośredni dostęp do modelu i Agentic Workflows są obsługiwane na tych urządzeniach:

Gemini Nano 2

  • POCO: POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO X7 Pro, POCO X8 Pro
  • realme: realme GT 7
  • Redmi: Redmi Turbo 5
  • vivo: vivo T4 Ultra, vivo X200 FE
  • Xiaomi: Leitzphone powered by Xiaomi, Xiaomi 15, Xiaomi 15T, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17T, Xiaomi 17 Ultra

Gemini Nano 3

  • Acer: Acer Googlebook 14
  • ASUS: ASUS Googlebook 14
  • Dell: XPS Googlebook
  • Google: Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • HP: HP Googlebook 14
  • Lenovo: Lenovo Googlebook 15
  • OPPO: Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G, Reno 16 Pro 5G
  • realme: realme GT 7T

Gemini Nano 4

  • 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
  • Honor: Honor 600 Pro, Magic 7, Magic 7 Pro, Porsche Design Magic 7 RSR, Magic 8 Pro, Magic V5, Magic V6, MagicPad 4
  • iQOO: iQOO 13, iQOO 15
  • Lenovo: Lenovo Idea Tab Pro Gen 2, Lenovo Legion Tab Gen 5 (8,8"), Lenovo Yoga Tab Plus Gen 2
  • Motorola: Edge 70 Pro, Edge 70 Pro+, Razr 60 Ultra, Razr Ultra 2025, Razr Fold, Signature
  • OnePlus: OnePlus 13, OnePlus 13s, OnePlus 15, OnePlus 15R, OnePlus Pad 3
  • OPPO: Find N5, Find N6, Find X8, Find X8 Pro, Find X9, Find X9 Pro, Find X9s, Find X9 Ultra, Find X10, Find X10 Pro Max
  • POCO: POCO F9 Pro, POCO X8 Pro Max
  • realme: realme GT 7 Pro, realme GT 8 Pro
  • Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Edge, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 FE, Galaxy S26 Ultra, Galaxy Tab S12+, Galaxy Tab S12 Ultra, Galaxy Z Flip7, Galaxy Z Flip8, Galaxy Z Fold7, Galaxy Z Fold8, Galaxy Z Fold8 Ultra, Galaxy Z TriFold
  • Sharp: AQUOS R11
  • Sony: Xperia 1 VIII
  • vivo: vivo X200, vivo X200 Pro, vivo X200T, vivo X300, vivo X300 FE, vivo X300 Pro, vivo X300 Ultra, vivo X500 Pro, vivo X500 Pro Max, vivo X Fold3 Pro, vivo X Fold5, vivo X Fold6
  • Xiaomi: Xiaomi 15T Pro, Xiaomi 17T Pro, Xiaomi Pad Mini

Dostępność i wersja modelu mogą się różnić w zależności od konfiguracji pamięci RAM urządzenia, wersji systemu operacyjnego i stanu aktualizacji AICore. Aby sprawdzić aktywną wersję modelu na urządzeniu, zobacz Pobieranie wersji Gemini Nano.

Obsługa zadań tekstowych i graficznych na urządzeniach

Interfejsy API Image Description, Summarization, Proofreading i Rewriting są dostępne na tych urządzeniach, a w przyszłości planujemy rozszerzyć obsługę na kolejne:

  • Acer: Acer Googlebook 14
  • ASUS: ASUS Googlebook 14
  • Dell: XPS Googlebook
  • 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, Honor 600 Pro, Magic 7, Magic 7 Pro, Porsche Design Magic 7 RSR, Magic 8 Pro, Magic V5, Magic V6, MagicPad 4
  • HP: HP Googlebook 14
  • iQOO: iQOO 13, iQOO 15
  • Lenovo: Lenovo Googlebook 15, Lenovo Idea Tab Pro Gen 2, Lenovo Legion Tab Gen 5 (8,8"), Lenovo Yoga Tab Plus Gen 2
  • Motorola: Edge 70 Pro, Edge 70 Pro+, Razr 60 Ultra, Razr Ultra 2025, Razr Fold, Signature
  • OnePlus: OnePlus 13, OnePlus 13s, OnePlus 15, OnePlus 15R, OnePlus Pad 3
  • OPPO: Find N5, Find N6, Find X8, Find X8 Pro, Find X9, Find X9 Pro, Find X9s, Find X9 Ultra, Find X10, Find X10 Pro Max, Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G, Reno 16 Pro 5G
  • POCO: POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO F9 Pro, POCO X7 Pro, POCO X8 Pro, POCO X8 Pro Max
  • realme: realme GT 7, realme GT 7 Pro, realme GT 7T, realme GT 8 Pro
  • Redmi: Redmi Turbo 5
  • Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Edge, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 FE, Galaxy S26 Ultra, Galaxy Tab S12+, Galaxy Tab S12 Ultra, Galaxy Z Flip7, Galaxy Z Flip8, Galaxy Z Fold7, Galaxy Z Fold8, Galaxy Z Fold8 Ultra, Galaxy Z TriFold
  • Sharp: AQUOS R11
  • Sony: Xperia 1 VIII
  • vivo: vivo T4 Ultra, vivo X200, vivo X200 FE, vivo X200 Pro, vivo X200T, vivo X300, vivo X300 FE, vivo X300 Pro, vivo X300 Ultra, vivo X500 Pro, vivo X500 Pro Max, vivo X Fold3 Pro, vivo X Fold5, vivo X Fold6
  • Xiaomi: Leitzphone powered by Xiaomi, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17T, Xiaomi 17T Pro, Xiaomi 17 Ultra, Xiaomi Pad Mini

Dostępność obsługi konkretnego języka może się różnić w zależności od konfiguracji urządzenia i modeli, które zostały na nie pobrane.

Pobieranie wersji Gemini Nano

Na różnych urządzeniach działają różne wersje Gemini Nano. Aby zwrócić wersję Gemini Nano na urządzeniu, użyj metody getBaseModelName().

Limit na aplikację

AICore egzekwuje limit wnioskowania na aplikację. Zbyt wiele żądań do interfejsu GenAI API w krótkim czasie spowoduje odpowiedź ErrorCode.BUSY. Jeśli wystąpi taki błąd, spróbuj ponownie wysłać żądanie, używając wzrastającego czasu do ponowienia. Może też zostać zwrócony błąd ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED, jeśli aplikacja przekroczy limit długoterminowy (np. dzienny).

Wykorzystanie w tle

Wnioskowanie interfejsu GenAI API jest dozwolone tylko wtedy, gdy aplikacja jest aplikacją na pierwszym planie. Użycie interfejsu API, gdy aplikacja nie działa na pierwszym planie, w tym użycie usługi na pierwszym planie, spowoduje zwrócenie odpowiedzi ErrorCode.BACKGROUND_USE_BLOCKED.

Przykładowy kod

Aby uzyskać ten kod, zapoznaj się z tymi przykładami: