Interfejsy GenAI API w ML Kit wykorzystują możliwości Gemini Nano, aby pomagać aplikacjom w wykonywaniu zadań. Te interfejsy API zapewniają gotową jakość w popularnych przypadkach użycia dzięki interfejsowi wysokiego poziomu. 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 ulepszona funkcjonalność aplikacji i większa prywatność użytkowników dzięki lokalnemu przetwarzaniu danych.
Interfejsy API GenAI ML Kit obsługują te funkcje:
- Podsumowywanie: podsumowuj artykuły lub rozmowy na czacie w formie listy punktowanej.
- Korekta: poprawianie krótkich treści w języku polskim poprzez dopracowywanie gramatyki i usuwanie błędów ortograficznych.
- Przeredagowywanie: przeredagowywanie krótkich wiadomości w różnych tonach i stylach.
- Opis obrazu: wygeneruj krótki opis danego obrazu.
Zalety interfejsów GenAI API
Podobnie jak inne funkcje ML Kit, interfejsy GenAI API działają w całości na urządzeniu, co zapewnia te korzyści:
- Dane wejściowe, wnioskowanie i dane wyjściowe są przetwarzane lokalnie.
- Funkcje pozostają bez zmian bez niezawodnego połączenia z internetem
- Za każde wywołanie interfejsu API nie są naliczane dodatkowe koszty serwera.
Dodatkowo interfejsy GenAI API są oparte na AICore i wykorzystują Gemini Nano, więc każda aplikacja może korzystać z udostępnionego modelu Gemini Nano 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ść
Transmisja strumieniowa a inne metody
Interfejsy API GenAI w ML Kit oferują zarówno strumieniowe, jak i niestrumieniowe opcje otrzymywania wyników. Interfejs API do przesyłania strumieniowego dostarcza odpowiedzi przyrostowo w miarę ich generowania, zapewniając ciągły przepływ danych. W przeciwieństwie do tego interfejs API bez przesyłania strumieniowego czeka na ukończenie całej odpowiedzi, zanim zwróci ją jako pojedynczy blok.
Wybierz strumieniowy interfejs API w przypadku długich odpowiedzi, ponieważ umożliwia on szybsze uzyskanie wstępnych informacji zwrotnych. Interfejs API bez przesyłania strumieniowego lepiej sprawdza się w przypadku krótkich odpowiedzi lub przetwarzania wyników w partiach.
Obsługa urządzeń
Interfejsy ML Kit GenAI API są dostępne na tych urządzeniach (planujemy rozszerzyć obsługę na kolejne urządzenia):
- Google: Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, 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
Dostępność obsługi konkretnych języków może się różnić w zależności od konfiguracji urządzenia i pobranych na nie modeli.
Limit na aplikację
AICore egzekwuje limit wnioskowania dla każdej aplikacji. Oznacza to, że wysłanie zbyt wielu żądań interfejsu GenAI API w krótkim czasie spowoduje wyświetlenie odpowiedzi ErrorCode.BUSY
. Jeśli otrzymasz taki błąd, rozważ użycie algorytmu Exponential backoff, aby ponowić żądanie.
Użycie w tle
Wnioskowanie z użyciem interfejsu GenAI API jest dozwolone tylko wtedy, gdy aplikacja jest aplikacją działającą na pierwszym planie. Korzystanie z interfejsu API, gdy aplikacja nie jest na pierwszym planie, w tym korzystanie z usługi działającej na pierwszym planie, spowoduje zwrócenie odpowiedzi ErrorCode.BUSY
z powodu obecnego braku limitu wykorzystania w tle.
Przykładowy kod
Aby uzyskać ten kod, zapoznaj się z tymi przykładami: