Google oferuje 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ą, optymalizując wydajność, koszty i dostępność.
Wnioskowanie hybrydowe zapewnia 2 główne korzyści dla aplikacji na Androida:
- Maksymalny zasięg: modele w chmurze stanowią ważne rozwiązanie awaryjne, gdy modele na urządzeniu takie jak Gemini Nano, są niedostępne z powodu ograniczeń sprzętowych lub systemu operacyjnego. Dzięki temu funkcje AI pozostają funkcjonalne na jak największej liczbie urządzeń użytkowników.
- Koszty i funkcje offline: modele na urządzeniu zapewniają 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 korzyści z wnioskowania na urządzeniu i wnioskowania w chmurze:
| Wnioskowanie na urządzeniu | Wnioskowanie w chmurze |
|---|---|
| Dostępne offline | Zgodne z każdym urządzeniem |
| Brak kosztów wnioskowania | Zaawansowane możliwości modelu |
Opcje implementacji
Wnioskowanie hybrydowe możesz zaimplementować na te sposoby:
Hybrydowy interfejs API Firebase AI Logic
Hybrydowy interfejs API Firebase AI Logic zapewnia jeden ujednolicony interfejs do dzielenia wnioskowania między środowiska w chmurze i na urządzeniu.
Zawiera parametr onDeviceConfig, który zapewnia proste elementy sterujące do określania
trybu wnioskowania i zarządzania routingiem:
PREFER_ON_DEVICE: próba użycia modelu na urządzeniu, automatyczne przełączenie na model hostowany w chmurze, jeśli model na urządzeniu jest niedostępny lub nieobsługiwany w przypadku żądania.PREFER_IN_CLOUD: próba użycia modelu hostowanego w chmurze, gdy urządzenie jest online i model jest dostępny, przełączenie na model na urządzeniu tylko wtedy, gdy urządzenie jest offline.ONLY_ON_DEVICE: próba użycia modelu na urządzeniu, ale zgłoszenie wyjątku, jeśli jest on niedostępny lub nieobsługiwany w przypadku żądania.ONLY_IN_CLOUD: próba użycia modelu hostowanego w chmurze, gdy urządzenie jest online i model jest dostępny, zgłoszenie wyjątku we wszystkich innych przypadkach.
val model = Firebase.ai(backend = GenerativeBackend.Companion.googleAI()) .generativeModel( modelName = "gemini-2.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 i zapoznaj się z przykładem hybrydowej AI w katalogu AI.
Routing niestandardowy
Jeśli Twoja aplikacja ma określone wymagania biznesowe lub dotyczące UX, możesz też zaimplementować 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 naładowania 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 zaimplementowały własny routing niestandardowy, aby zapewniać niezawodne funkcje AI, w tym:
GBoard: Gboard używa niestandardowego wnioskowania hybrydowego do obsługi narzędzi do pisania, takich jak sprawdzanie pisowni i przepisywanie.
Kakao Mobility: Kakao Mobility stworzyło narzędzie do wyodrębniania encji, które wykorzystuje niestandardowe wnioskowanie hybrydowe w usłudze dostarczania paczek. Automatycznie wyodrębnia ono imiona i nazwiska odbiorców, adresy i numery telefonów z wiadomości w języku naturalnym, aby uprościć formularze zamówień.