Gemini Nano umożliwia korzystanie z zaawansowanych funkcji generatywnej AI bez konieczności połączenia sieciowego i wysyłania danych do chmury. AI na urządzeniu to świetne rozwiązanie w przypadkach, gdy najważniejsze są niskie koszty i ochrona prywatności.
W przypadku zastosowań na urządzeniu możesz skorzystać z modelu podstawowego Gemini Nano od Google. Gemini Nano działa w usłudze systemowej AICore na Androidzie, która wykorzystuje sprzęt urządzenia, aby zapewnić krótki czas oczekiwania na wnioskowanie i aktualność modelu.
Interfejsy API GenAI 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 umożliwia wykonywanie na urządzeniu podstawowych modeli generatywnej AI, aby ułatwić korzystanie z funkcji takich jak ulepszone funkcje aplikacji i lepsza ochrona prywatności użytkowników dzięki lokalnemu przetwarzaniu danych. Więcej informacji
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 w niestandardowych przypadkach użycia:
- 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ą obiektuList<Content>z rolamiUSERiMODELoraz wartościąsessionId. - Agentic workflows (przy użyciu klasy
AgentRunner): oparte na klasieGenerativeModel, 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:
- Rozpoznawanie mowy: transkrypcja treści mówionych na tekst w tym samym języku.
- Tłumaczenie mowy: tłumacz tekst mówiony na tekst w innym języku w czasie rzeczywistym.
- Text-to-Speech: synteza naturalnie brzmiącej mowy na podstawie tekstu.
Zadania związane z tekstem i obrazami
Używaj interfejsów API przeznaczonych do konkretnych zadań, zoptymalizowanych pod kątem typowych zadań związanych z widzeniem komputerowym, pisaniem i wyszukiwaniem, za pomocą interfejsu wysokiego poziomu:
- Opis obrazu: wygeneruj krótki opis danego obrazu.
- Podsumowanie: podsumuj artykuły lub rozmowy w formie listy punktowanej.
- Korekta: sprawdzanie krótkich wiadomości na czacie.
- Przeredagowywanie: przeredagowywanie krótkich wiadomości na czacie 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.
Umiejętności związane z Androidem
Wyświetl na GitHubieKorzystanie z interfejsu Prompt API w ML Kit
android skills add ml-kit-genai-prompt-apiArchitektura z wykorzystaniem AICore
AICore to moduł na poziomie systemu, do którego można uzyskać dostęp za pomocą interfejsów API, aby przeprowadzać wnioskowanie na urządzeniu. AICore ma też kilka wbudowanych funkcji bezpieczeństwa, które zapewniają dokładną ocenę pod kątem naszych filtrów bezpieczeństwa. Poniższy diagram przedstawia, jak aplikacja uzyskuje dostęp do AICore, aby uruchomić Gemini Nano na urządzeniu.
Ochrona prywatności i bezpieczeństwo danych użytkownika
Generatywna AI na urządzeniu wykonuje prompty lokalnie, eliminując wywołania serwera. Chociaż eliminuje to opóźnienia sieci, szybkość wnioskowania zależy od sprzętu urządzenia. Takie podejście zwiększa prywatność, ponieważ dane wrażliwe są przechowywane na urządzeniu, umożliwia działanie w trybie offline i obniża koszty wnioskowania.
AICore jest zgodny z zasadami Private Compute Core i ma te kluczowe cechy:
- Ograniczone wiązanie pakietów: AICore jest odizolowany od większości innych pakietów, z wyjątkiem niektórych pakietów systemowych. Wszelkie zmiany na tej liście dozwolonych mogą być wprowadzane tylko podczas pełnej aktualizacji Androida OTA.
- Pośredni dostęp do internetu: AICore nie ma bezpośredniego dostępu do internetu. Wszystkie żądania internetowe, w tym pobieranie modeli, są kierowane przez aplikację towarzyszącą Private Compute Services typu open source. Interfejsy API w Private Compute Services muszą wyraźnie wykazywać, że są skoncentrowane na prywatności.
Dodatkowo AICore izoluje każde żądanie i nie przechowuje żadnych zapisów danych wejściowych ani wynikowych po ich przetworzeniu, aby chronić prywatność użytkowników. Aby dowiedzieć się więcej, przeczytaj posta na blogu Wprowadzenie do prywatności i bezpieczeństwa w Gemini Nano.
Korzyści z dostępu do podstawowych modeli AI za pomocą AICore
AICore umożliwia systemowi operacyjnemu Android udostępnianie podstawowych modeli AI i zarządzanie nimi. Znacznie obniża to koszty korzystania z tych dużych modeli w aplikacji, głównie z tych powodów:
- Łatwość wdrażania: AICore zarządza dystrybucją Gemini Nano i obsługuje przyszłe aktualizacje. Nie musisz się martwić o pobieranie ani aktualizowanie dużych modeli przez sieć ani o wpływ na budżet pamięci dyskowej i operacyjnej aplikacji.
- Przyspieszone wnioskowanie: AICore wykorzystuje sprzęt na urządzeniu, aby przyspieszyć wnioskowanie. Aplikacja uzyskuje najlepszą wydajność na każdym urządzeniu, a Ty nie musisz się martwić o podstawowe interfejsy sprzętowe.
Kiedy używać wnioskowania hybrydowego
Chociaż Gemini Nano idealnie nadaje się do zadań offline i wymagających ochrony prywatności, ma ograniczenia na urządzeniu, takie jak limity tokenów, ograniczenia sprzętowe i ograniczenia możliwości modelu. W takich sytuacjach możesz użyć wnioskowania hybrydowego, aby zrównoważyć zadania AI między urządzeniem lokalnym a chmurą.
Aby zapewnić spójne wrażenia użytkowników na wszystkich urządzeniach i obsługiwać złożone zapytania, możesz użyć interfejsu Firebase AI Logic Hybrid API. Dzięki temu aplikacja może:
- Płynne przełączanie: automatycznie przekierowuj żądania do modeli Gemini Flash lub Gemini Pro w chmurze, gdy Gemini Nano jest niedostępny lub nieobsługiwany na urządzeniu użytkownika.
- Zapewnij bezpieczeństwo: chroń wnioskowanie w chmurze za pomocą Sprawdzania aplikacji Firebase (oraz obsługiwanych dostawców atestów, takich jak Play Integrity) i przechowuj poufne prompty systemowe po stronie serwera.