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 rezerwowe, 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.
Opcje implementacji
Wnioskowanie hybrydowe możesz zaimplementować na te sposoby:
Hybrydowy interfejs API Firebase AI Logic
Interfejs API Firebase AI Logic Hybrid zapewnia pojedynczy, 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 definiowania
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.googleAI())
.generativeModel(
modelName = "gemini-2.5-flash",
onDeviceConfig = OnDeviceConfig(mode = InferenceMode.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: Klawiatura Gboard używa niestandardowego wnioskowania hybrydowego do obsługi narzędzi do pisania, takich jak korekta 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, adresy i numery telefonów odbiorców z wiadomości w języku naturalnym, aby usprawnić formularze zamówień.