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

Interfejsy GenAI API w ML Kit wykorzystują możliwości Gemini Nano, aby ułatwiać aplikacjom wykonywanie zadań. Dzięki interfejsowi wysokiego poziomu te interfejsy API zapewniają gotową jakość w popularnych przypadkach użycia. Interfejsy ML Kit GenAI API są oparte na AICore, usłudze systemowej Androida, która umożliwia wykonywanie na urządzeniu podstawowych modeli generatywnej AI . Ułatwia to korzystanie z funkcji takich jak ulepszone funkcje aplikacji i większa prywatność użytkownika dzięki lokalnemu przetwarzaniu danych.

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 klienta interfejsu API i wygodę użytkowników aplikacji.

Najważniejsze funkcje

Interfejsy ML Kit GenAI API obsługują te funkcje:

  • Podsumowywanie: podsumowuj artykuły lub rozmowy na czacie w formie listy punktowanej.
  • **Korekta**: poprawiaj krótkie treści, dopracowując gramatykę i poprawiając błędy ortograficzne.
  • Przeredagowywanie: przeredagowuj krótkie wiadomości w różnych tonach lub stylach.
  • Opis obrazu: generuj krótki opis danego obrazu.
  • **Rozpoznawanie mowy**: transkrybuj treści audio na tekst.
  • Prompt: generuj treści tekstowe na podstawie niestandardowego promptu tekstowego lub multimodalnego.

Korzyści z interfejsów API generatywnej AI

Podobnie jak inne funkcje ML Kit, interfejsy GenAI API działają w całości na urządzeniu, dzięki czemu zapewniają te korzyści:

  • Dane wejściowe, wnioskowanie i dane wyjściowe są przetwarzane lokalnie.
  • Funkcjonalność pozostaje taka sama bez niezawodnego połączenia z internetem.
  • Za każde wywołanie interfejsu API nie są naliczane dodatkowe opłaty za serwer.

Ponadto, ponieważ interfejsy GenAI API są oparte na AICore i wykorzystują Gemini Nano, każda aplikacja może korzystać ze wspólnego modelu Gemini Nano, który znajduje się na urządzeniu. Dzięki temu nie trzeba czekać na pobranie modelu, jeśli jest on już na urządzeniu, co z kolei pozwala zaoszczędzić miejsce na dane. Dowiedz się więcej o tym, jak AICore izoluje żądania, aby chronić prywatność.

Strumieniowanie a brak strumieniowania

Interfejsy ML Kit GenAI API oferują zarówno strumieniowe, jak i niestrumieniowe opcje otrzymywania wyników. Strumieniowy interfejs API dostarcza odpowiedzi przyrostowo w miarę ich generowania, zapewniając ciągły przepływ danych. Z kolei niestrumieniowy interfejs API czeka, aż cała odpowiedź będzie gotowa, zanim zwróci ją jako pojedynczy blok.

W przypadku długich odpowiedzi wybierz strumieniowy interfejs API, ponieważ umożliwia on szybsze uzyskanie wstępnych informacji zwrotnych. Niestrumieniowy interfejs API lepiej sprawdza się w przypadku krótkich odpowiedzi lub przetwarzania wyników w partiach.

Obsługa urządzeń

Interfejsy API specyficzne dla funkcji GenAI (podsumowywanie, korekta, przeredagowywanie i opis obrazu) mają inną obsługę urządzeń niż Prompt API, co opisano w kolejnych sekcjach.

Obsługa urządzeń przez interfejsy API specyficzne dla funkcji

Interfejsy API podsumowywania, korekty, przeredagowywania i opisu obrazu są dostępne na tych urządzeniach. Planujemy rozszerzyć obsługę na kolejne urządzenia:

  • Google: 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
  • 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 Fold7, Galaxy Z TriFold
  • 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

Dostępność obsługi konkretnych języków może się różnić w zależności od konfiguracji urządzenia i modeli pobranych na urządzenie.

Obsługa urządzeń przez Prompt API

Prompt API jest obsługiwany na tych urządzeniach:

nano-v2

  • Google: Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • Honor: Magic V5, Magic 7, Magic 7 Pro
  • iQOO: iQOO 13
  • Motorola: Razr 60 Ultra, Razr Ultra 2025
  • OnePlus: OnePlus 13, OnePlus 13s
  • OPPO: Find N5
  • POCO: POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO X7 Pro, POCO X8 Pro
  • realme: realme GT 7 Pro
  • Samsung: Galaxy Z Fold7, Galaxy Z TriFold
  • vivo: vivo X200 FE, 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

nano-v3

  • Google: Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold
  • Honor: Honor Magic 8 Pro
  • iQOO: iQOO 15
  • Motorola: Signature
  • OnePlus: OnePlus 15, OnePlus 15R
  • OPPO: 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
  • realme: realme GT 7T
  • Samsung: Galaxy S26, Galaxy S26+, Galaxy S26 Ultra
  • vivo: vivo X200T, vivo X200, vivo X200 Pro, vivo X300, vivo X300 Pro

Obsługa urządzeń przez Speech Recognition API

Interfejs API rozpoznawania mowy Speech Recognition API jest obsługiwany na tych urządzeniach:

Tryb podstawowy Korzysta z tradycyjnego modelu rozpoznawania mowy na urządzeniu, który jest dostępny na większości urządzeń z Androidem z poziomem interfejsu API 31 lub nowszym.
Tryb zaawansowany Wykorzystuje model GenAI, aby zapewnić wyższą jakość i szerszy zakres języków. Obsługiwany przez urządzenia Pixel 10. Pracujemy nad obsługą kolejnych urządzeń.

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 getBaseModelName().

Limit na aplikację

AICore wymusza limit wnioskowania na aplikację. Zbyt wiele żądań GenAI API w krótkim czasie spowoduje odpowiedź ErrorCode.BUSY. W przypadku otrzymania takiego błędu rozważ użycie wzrastającego czasu do ponowienia, aby ponowić próbę wysłania żądania. Jeśli aplikacja przekroczy limit długotrwały (np. dzienny), może też zostać zwrócony kod ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED.

Użycie w tle

Wnioskowanie GenAI API jest dozwolone tylko wtedy, gdy aplikacja jest aplikacją na pierwszym planie. Używanie interfejsu API, gdy aplikacja nie jest na pierwszym planie, w tym używanie usługi na pierwszym planie, spowoduje odpowiedź ErrorCode.BACKGROUND_USE_BLOCKED.

Przykładowy kod

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