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

Interfejsy GenAI API w ML Kit wykorzystują możliwości Gemini Nano, aby ułatwić aplikacjom wykonywanie 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 jednocześnie 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 wieloturowego 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ące 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 związane z tekstem i obrazami

Używaj interfejsów API przeznaczonych do konkretnych zadań, które są zoptymalizowane pod kątem typowych zadań związanych z widzeniem komputerowym, pisaniem i wyszukiwaniem, bez konieczności stosowania 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.
  • Wyszukiwanie semantyczne: generuj wektory dystrybucyjne dla tekstu i obrazów za pomocą interfejsu Embedding 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.

Ponadto interfejsy API GenAI są oparte na AICore i wykorzystują Gemini Nano, więc aplikacje i interfejsy API do konkretnych zadań korzystają z tego samego modelu bazowego 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ść.

Strumieniowe i niestrumieniowe

Interfejsy API ML Kit GenAI oferują zarówno opcje strumieniowe, jak i niestrumieniowe do otrzymywania wyników. Interfejs API do strumieniowego przesyłania danych dostarcza odpowiedzi przyrostowo w miarę ich generowania, zapewniając ciągły przepływ danych. Z kolei interfejs API bez strumieniowania czeka, aż cała odpowiedź zostanie ukończona, 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:

nano-v2

  • 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, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • Honor: Honor Magic 8 Pro
  • iQOO: iQOO 15
  • Lenovo: Lenovo Idea Tab Pro Gen 2, Lenovo Legion Tab Gen 5(8,8")
  • 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
  • Sharp: AQUOS R11
  • Sony: Xperia 1 VIII
  • vivo: vivo X200T, vivo X200, vivo X200 Pro, vivo X300, vivo X300 Pro

nano-v4

  • Google: Pixel 11, Pixel 11 Pro, Pixel 11 Pro XL, Pixel 11 Pro Fold
  • Samsung: Galaxy Z Flip8, Galaxy Z Fold8, Galaxy Z Fold8 Ultra

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:

  • 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

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

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, stosując wzrastający czas 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: