Znajdowanie odpowiedniego rozwiązania AI/ML dla danej funkcji

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:

Tak Nie Tak Nie Tak Nie Tak Nie wszystkie Tak Nie Funkcja Czy musisz generować nowe treści (a nie prognozować lub klasyfikować dane)? Generatywna AI Czy to zadanie obejmuje wiele aplikacji? Tradycyjne uczenie maszynowe Inteligencja systemowa Użyj AppFunctions Inteligencja w aplikacji Czy funkcja może działać offline lub czy masz ograniczenia kosztów? Czy urządzenia docelowe obsługują modele na urządzeniu? Czy funkcja musi działać (stan musi być zachowany), gdy aplikacja jest zamknięta, lub czy potrzebujesz dostępu do prywatnej bazy danych? Model na urządzeniu Używaj Gemini Nano za pomocą ML Kit lub LiteRT Podejście hybrydowe Preferuj modele na urządzeniu, ale używaj modeli w chmurze jako zastępczych Model w chmurze Używaj niestandardowego serwera hostowanego samodzielnie Model w chmurze Używaj zarządzanego backendu za pomocą Firebase AI Logic
Rysunek 1. Proces podejmowania decyzji na wysokim poziomie dotyczący wyboru rozwiązania AI/ML.

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
  • Skaner paragonów OCR
  • Szybkie meldowanie się na wydarzeniach za pomocą kodu QR
  • Tłumaczenie menu offline
LiteRT Na urządzeniu Środowiska wykonawcze modeli niestandardowych
  • Klasyfikacja obrazów medycznych
  • Podpowiadanie słów przez inteligentną klawiaturę w przypadku niszowych tematów
MediaPipe Na urządzeniu Zadania związane z postrzeganiem strumienia wideo lub audio w czasie rzeczywistym
  • Wskazówki dotyczące pozycji podczas treningu w czasie rzeczywistym
  • filtry i efekty twarzy,
  • Rozpoznawanie gestów dłonią
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
  • Automatyczne napisy do filmów
  • Kontrola jakości obrazu i zgodności z zasadami
Agent Platform Działanie w chmurze Kompleksowe trenowanie i wdrażanie modelu niestandardowego
  • Specjalistyczne rozpoznawanie obrazów na dużą skalę
  • Wyszukiwanie zdjęć licencjonowanych

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
  • Podsumowywanie, sprawdzanie i transkrypcja tekstu
  • Opisy obrazów
  • Tworzenie czatbota w aplikacji
  • Generuj obrazy
  • tworzenie listy zakupów w aplikacji do dostawy na podstawie tego, co zostało zapisane w dokumencie z notatkami;
  • Zamów przejazd do biura i wyślij współpracownikowi wiadomość z szacowanym czasem dotarcia na miejsce.
  • Znajdź w skrzynce odbiorczej e-maila z rekomendacją restauracji i dokonaj rezerwacji

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
  • Tekst
  • Obraz
  • Dźwięk
  • Tekst
  • Obraz
  • Dźwięk
  • Wideo
Typ wyjściowy
  • Tekst
  • Tekst
  • Obraz
  • Dźwięk
Wrażliwość danych użytkownika Wyższe Mniejsza
Modele
  • Gemma
  • Gemini Nano
  • Gemini Flash
  • Gemini Flash Lite
  • Gemini Pro
Use cases
  • przetwarzać krótkie treści, np. podsumowywać, sprawdzać lub redagować krótkie wiadomości na czacie lub e-maile;
  • Opisy obrazów
  • personalizowanie danych wyjściowych dla użytkowników na podstawie ich zainteresowań;
  • Przetwarzanie poufnych danych użytkownika
  • Wykonaj transkrypcję krótkiego klipu audio
  • Tworzenie czatbota
  • Generuj obrazy
  • Tłumacz rozmowy czasie rzeczywistym
  • Edycja zdjęć w aplikacji
  • Zadania z wieloma agentami

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
  • Pojedyncze wnioskowanie
  • Czyste generowanie
Podsumowanie tekstu
Średni
  • Rozszerzony LLM
  • Wywoływanie funkcji
  • Historia rozmowy
Zapytanie i odpowiedź
Wysoki
  • Pętla z jednym agentem, która działa, dopóki zadanie nie zostanie wykonane.
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
  • Pojedyncze wnioskowanie
  • Czyste generowanie
Podsumowanie tekstu
  • Firebase AI Logic
  • Niestandardowy backend
Średni
  • Rozszerzony LLM
  • Wywoływanie funkcji
  • Historia rozmowy
Zapytanie i odpowiedź
  • Firebase AI Logic
  • Niestandardowy backend
Wysoki
  • Pętla z jednym agentem, która działa, dopóki zadanie nie zostanie wykonane.
Opinie klientów lub selekcja błędów
  • Niestandardowy backend
Bardzo wysoka
  • Administracja wieloma agentami
Tworzenie zespołu agentów do zarządzania różnymi aspektami podróży
  • Niestandardowy backend

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.