Google udostępnia szeroki wybór wiodących w branży modeli AI i interfejsów API do wnioskowania w chmurze i na urządzeniu. Wnioskowanie hybrydowe umożliwia płynne równoważenie obciążeń AI między urządzeniem lokalnym a chmurą, co pozwala optymalizować wydajność, koszty i dostępność.
Wnioskowanie hybrydowe ma 2 główne zalety w przypadku aplikacji na Androida:
- Maksymalizowanie zasięgu: modele w chmurze stanowią kluczowe rozwiązanie awaryjne, gdy modele na urządzeniu, takie jak Gemini Nano, są niedostępne z powodu ograniczeń sprzętowych lub systemu operacyjnego urządzenia. Dzięki temu funkcje AI będą działać na jak największej liczbie urządzeń użytkowników.
- Koszt i możliwości offline: modele na urządzeniu pomagają zapewnić płynne działanie funkcji AI, gdy użytkownik jest offline. Dodatkowo przeniesienie rutynowych zadań na urządzenie lokalne pomaga obniżyć koszty wnioskowania w chmurze.
Oto zalety wnioskowania na urządzeniu i wnioskowania w chmurze:
| Wnioskowanie na urządzeniu | Wnioskowanie w chmurze |
|---|---|
| Dostępny offline | Zgodność z każdym urządzeniem |
| Brak kosztów wnioskowania | Zaawansowane możliwości modelu |
Opcje implementacji
Wnioskowanie hybrydowe możesz wdrożyć na te sposoby:
Firebase AI Logic Hybrid API
Hybrydowy interfejs API Firebase AI Logic udostępnia jeden ujednolicony interfejs do dzielenia wnioskowania między środowiskami chmurowymi i na urządzeniu.
Zawiera parametr onDeviceConfig, który umożliwia zdefiniowanie trybu wnioskowania i zarządzanie routingiem:
PREFER_ON_DEVICE: próbuje użyć modelu na urządzeniu, automatycznie przełączając się na model hostowany w chmurze, jeśli model na urządzeniu jest niedostępny lub nieobsługiwany w przypadku danego żądania.PREFER_IN_CLOUD: próbuje używać modelu hostowanego w chmurze, gdy urządzenie jest online i model jest dostępny. W przypadku braku połączenia z internetem przełącza się na model na urządzeniu.ONLY_ON_DEVICE: próbuje użyć modelu na urządzeniu, ale zgłasza wyjątek, jeśli jest on niedostępny lub nieobsługiwany w przypadku żądania.ONLY_IN_CLOUD: próbuje użyć modelu hostowanego w chmurze, gdy urządzenie jest online i model jest dostępny. W pozostałych przypadkach zgłasza wyjątek.
val model = Firebase.ai(backend = GenerativeBackend.Companion.googleAI()) .generativeModel( modelName = "gemini-3.5-flash", onDeviceConfig = OnDeviceConfig(mode = InferenceMode.Companion.PREFER_ON_DEVICE) ) val response = model.generateContent("Write a story about a green robot.") print(response.text)
Szczegóły implementacji znajdziesz w dokumentacji Firebase. Możesz też zapoznać się z przykładowym modelem AI hybrydowej w katalogu AI.
Routing niestandardowy
Jeśli Twoja aplikacja ma określone wymagania biznesowe lub dotyczące UX, możesz też wdrożyć niestandardową logikę routingu. Umożliwia to dynamiczne określanie ścieżki wnioskowania na podstawie czynników w czasie rzeczywistym, takich jak:
- Opóźnienie sieciowe
- stan systemu urządzenia (np. poziom baterii i obciążenie procesora);
- Złożoność zapytania użytkownika
To niestandardowe podejście do wnioskowania hybrydowego jest stosowane przez wiodące aplikacje, które wdrożyły własne niestandardowe przekierowywanie, aby zapewniać niezawodne funkcje AI, w tym:
Gboard: Gboard korzysta z niestandardowego wnioskowania hybrydowego, aby obsługiwać narzędzia do pisania, takie jak korekta i zmiana stylu.
Kakao Mobility: firma Kakao Mobility stworzyła narzędzie do wyodrębniania jednostek przy użyciu niestandardowej hybrydowej metody wnioskowania na potrzeby usługi dostarczania paczek. Automatycznie wyodrębnia ono imiona i nazwiska odbiorców, adresy i numery telefonów z wiadomości w języku naturalnym, aby usprawnić formularze zamówień.