Ten przewodnik pomoże Ci znaleźć odpowiednie rozwiązanie AI/ML do Twojego przypadku użycia. Zawiera wskazówki, które pomogą Ci zapoznać się z różnymi dostępnymi rozwiązaniami i wybrać to, które najlepiej odpowiada Twoim potrzebom, biorąc pod uwagę wymagania funkcji, którą chcesz wdrożyć.
Ogólnie rzecz biorąc, wybierając narzędzia i modele do wdrożenia funkcji AI/ML, należy używać najprostszego modelu, który spełnia Twoje potrzeby. Aby znaleźć optymalne rozwiązanie, musisz przemyśleć te kwestie:
- Czy funkcja musi generować nowe treści (generatywna AI), czy przewidywać lub kategoryzować w sposób deterministyczny (tradycyjne systemy uczące się)?
- Zakres funkcji: czy zadanie można wykonać w całości w aplikacji (inteligencja w aplikacji), czy wymaga ono użycia wielu aplikacji (inteligencja na poziomie systemu)?
- Lokalizacja modelu: czy zadanie można wykonać offline (model na urządzeniu), czy wymaga interakcji z serwerem (model działający w chmurze)?
- Zestaw narzędzi lub wersja modelu: jak złożone jest zadanie – od prostych zadań z jednym wnioskowaniem po wieloagentową orkiestrację?
Poniższy schemat blokowy przedstawia ogólny proces podejmowania decyzji:
Aby podjąć decyzję na każdym etapie, zapoznaj się z sekcjami w pozostałej części tego dokumentu.
Generatywna AI a tradycyjne uczenie maszynowe
Modele generatywnej AI tworzą nowe treści, podczas gdy tradycyjne modele ML przewidują wyniki lub kategoryzują dane w całkowicie deterministyczny sposób. Jeśli Twoja funkcja nie obejmuje generowania nowych treści, tradycyjne rozwiązania oparte na uczeniu maszynowym mogą być wystarczające. W tabeli poniżej znajdziesz podsumowanie niektórych tradycyjnych rozwiązań ML:
| Zestaw narzędzi lub rozwiązanie | Typ | Główny przypadek użycia | Przykłady |
|---|---|---|---|
| Pakiet ML Kit SDK | Na urządzeniu | Gotowe zadania związane z przetwarzaniem obrazu i języka naturalnego |
|
| LiteRT | Na urządzeniu | Środowiska wykonawcze modeli niestandardowych |
|
| MediaPipe | Na urządzeniu | Zadania związane z postrzeganiem strumienia wideo lub audio w czasie rzeczywistym |
|
| interfejsy Google Cloud API, w tym Cloud Vision API i Cloud Natural Language API; | Działanie w chmurze | Gotowe zadania związane z przetwarzaniem obrazu i języka naturalnego |
|
| Agent Platform | Działanie w chmurze | Kompleksowe trenowanie i wdrażanie modelu niestandardowego |
|
Pozostała część tego dokumentu dotyczy rozwiązań opartych na generatywnej AI.
Funkcje inteligentne w aplikacji i na poziomie systemu
Aby określić najlepsze rozwiązanie oparte na generatywnej AI, zdecyduj, czy funkcja AI działa całkowicie w aplikacji, czy wymaga interakcji z innymi aplikacjami lub systemem operacyjnym Android poza aplikacją. Jeśli funkcja jest uruchamiana przez system poza aplikacją, jest to inteligencja na poziomie systemu. W tej tabeli podsumowano różnice między funkcjami opartymi na AI w aplikacji i na poziomie systemu:
| Inteligentne funkcje w aplikacji | Inteligentne funkcje na poziomie systemu | |
|---|---|---|
| Zakres zadania | W aplikacji | W różnych aplikacjach (lub wywoływane przez system, poza aplikacją) |
| Narzędzia | Pakiet SDK ML Kit, LiteRT, Firebase AI Logic lub samodzielnie hostowany backend | AppFunctions |
| Use cases |
|
|
Inteligentne funkcje w aplikacji
Funkcje oparte na AI w aplikacji nie muszą wchodzić w interakcje z innymi aplikacjami ani systemem poza aplikacją. Gdy ustalisz, że funkcja oparta na AI działa całkowicie w aplikacji, musisz zdecydować, czy możesz ją uruchamiać całkowicie na urządzeniu, używać modelu działającego w chmurze czy zastosować podejście hybrydowe, które łączy oba te rozwiązania.
Jeśli wykonujesz czynności wymagające danych wejściowych wideo lub zadania, które obejmują wielu agentów, użyj modelu działającego w chmurze. W tabeli poniżej porównano możliwości modeli działających na urządzeniu i w chmurze:
| Na urządzeniu | Chmura | |
|---|---|---|
| Narzędzia | Pakiet SDK ML Kit lub LiteRT | Firebase AI Logic lub samodzielnie hostowany backend |
| Typ danych wejściowych |
|
|
| Typ wyjściowy |
|
|
| Wrażliwość danych użytkownika | Wyższe | Mniejsza |
| Modele |
|
|
| Use cases |
|
|
Modele na urządzeniu
Modele na urządzeniu są prawdopodobnie lepsze, jeśli:
- Ograniczenia kosztów
- Funkcja musi działać offline.
- Wymagania dotyczące ochrony prywatności
- Zadanie jest stosunkowo proste – nie wymaga koordynacji wielu agentów.
Pamiętaj, że urządzenia użytkowników muszą obsługiwać modele na urządzeniu. Modele na urządzeniu zwykle wymagają urządzeń premium, które mogą obsługiwać przetwarzanie lokalne.
Gdy ustalisz, że modele na urządzeniu są wystarczające dla Twojej funkcji, optymalny zestaw narzędzi lub rozwiązanie będzie zależeć przede wszystkim od złożoności zadania. W tabeli poniżej znajdziesz podsumowanie opcji narzędzi generatywnej AI na urządzeniu i w aplikacji:
| Złożoność zadania | Cechy funkcji | Przykład | Zestaw narzędzi lub rozwiązanie |
|---|---|---|---|
| Niski |
|
Podsumowanie tekstu |
|
| Średni |
|
Zapytanie i odpowiedź | |
| Wysoki |
|
Opinie klientów lub selekcja błędów |
Używaj interfejsu Prompt API w ML Kit do prostego generowania tekstu konwersacyjnego w jednej lub wielu turach. Jeśli funkcja wymaga autonomicznego, wieloetapowego wykonywania na urządzeniu, użyj interfejsu ML Kit GenAI Agent API. Interfejs Agent API obsługuje pętle rozumowania na urządzeniu, które mogą planować, wywoływać narzędzia z określonym typem za pomocą adnotacji @Tool, zachowywać kontekst sesji między interakcjami i egzekwować limity tur za pomocą maxTurns.
Modele działające w chmurze
Jeśli funkcja nie może być uruchamiana w całości na urządzeniu, musisz użyć modelu działającego w chmurze. Istnieją 2 główne sposoby korzystania z modelu działającego w chmurze:
Zarządzany backend korzystający z Firebase AI Logic. Jeśli korzystasz już z Firebase lub chcesz szybko utworzyć prototyp, Firebase AI Logic będzie prawdopodobnie najlepszym rozwiązaniem.
Niestandardowy backend lub serwer hostowany we własnym zakresie. Jeśli chcesz używać modeli innych niż modele Gemini, masz rygorystyczne wymagania dotyczące ochrony prywatności lub musisz wykonać bardzo złożone zadanie, prawdopodobnie musisz użyć niestandardowego backendu. W przypadku niestandardowej konfiguracji backendu zalecamy też te narzędzia:
- Uruchom na niestandardowym backendzie platformę agentową, taką jak pakiet Agent Development Kit.
- Połącz frontend aplikacji z backendem agentowym za pomocą AG-UI.
- Umożliwianie agentom generowania rozbudowanych, interaktywnych interfejsów użytkownika za pomocą A2UI
W tabeli poniżej znajdziesz podsumowanie, kiedy używać Firebase AI Logic, a kiedy niestandardowego backendu w przypadku narzędzi generatywnej AI w aplikacji działających w chmurze:
| Złożoność zadania | Cechy funkcji | Przykład | Zestaw narzędzi lub rozwiązanie |
|---|---|---|---|
| Niski |
|
Podsumowanie tekstu |
|
| Średni |
|
Zapytanie i odpowiedź |
|
| Wysoki |
|
Opinie klientów lub selekcja błędów |
|
| Bardzo wysoka |
|
Tworzenie zespołu agentów do zarządzania różnymi aspektami podróży |
|
Podejście hybrydowe
Podejście hybrydowe stosuj, gdy funkcja może działać lokalnie, ale nie wszyscy użytkownicy mają urządzenia obsługujące modele na urządzeniu i musisz używać modeli w chmurze jako rozwiązania zastępczego. Więcej informacji znajdziesz w sekcji Wnioskowanie hybrydowe.
Inteligentne funkcje na poziomie systemu
Funkcje AI na poziomie systemu umożliwiają platformie Android działanie jako koordynator zadań. Inteligencja na poziomie systemu umożliwia agentom systemowym, takim jak Gemini, realizowanie próśb użytkowników w różnych aplikacjach i usługach internetowych.
Aby połączyć aplikację z systemem inteligencji Androida, wybierz metodę integracji w zależności od tego, czy chcesz mieć kontrolę programową czy automatyczne działania oparte na interfejsie:
| Opcja integracji | Przypadek użycia |
|---|---|
| AppFunctions | Udostępnij agentom określone funkcje aplikacji, aby mogli je wykrywać i wykonywać na urządzeniu. |
| Zdalny serwer MCP | Udostępnij określone funkcje aplikacji, aby zintegrować je bezpośrednio z backendem agenta. Sprawdza się w przypadku programowania na wiele platform. |
| Sterowanie komputerem | Umożliwia asystentowi wstępnie zainstalowanemu przez producenta OEM automatyzację zadań przez bezpośrednią interakcję z interfejsem aplikacji. |
Więcej informacji o opcjach narzędzi AI na poziomie systemu znajdziesz w artykule Łączenie aplikacji z systemem AI na Androidzie.