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.
W przypadku korzystania z interfejsów API generatywnej AI obowiązują Dodatkowe warunki korzystania z interfejsu ML Kit GenAI API. Deweloperzy ponoszą wyłączną odpowiedzialność za bezpieczeństwo klienta interfejsu API i za wrażenia użytkowników aplikacji.
Najważniejsze funkcje
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 korygowanie błędów ortograficznych.
- Przeredagowywanie: przeredagowywanie krótkich wiadomości w różnych tonach lub stylach.
- Opis obrazu: wygeneruj krótki opis danego obrazu.
- Prompt: generowanie treści tekstowych na podstawie niestandardowego promptu multimodalnego lub promptu zawierającego tylko tekst.
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, 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ść
Transmisja strumieniowa a nie strumieniowa
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 API funkcji GenAI (podsumowywanie, korekta, przepisywanie i opis obrazu) mają inne wymagania dotyczące urządzeń niż interfejs Prompt API, co opisano w kolejnych sekcjach.
Obsługa interfejsu API dla poszczególnych funkcji
Interfejsy API Summarization, Proofreading, Rewriting i Image Description 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 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.
Obsługa interfejsu API prośby na urządzeniu
Interfejs Prompt API jest obecnie obsługiwany na tych urządzeniach:
nano-v2 |
|
nano-v3 |
|
Pobieranie wersji Gemini Nano
Na różnych urządzeniach działają różne wersje Gemini Nano. Aby przywrócić wersję Gemini Nano na urządzeniu, użyj getBaseModelName().
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: