Możesz tworzyć aplikacje i funkcje Apple oparte na AI z wnioskowaniem hybrydowym za pomocą Firebase AI Logic. Wnioskowanie hybrydowe umożliwia uruchamianie wnioskowania przy użyciu modeli na urządzeniu (w szczególności platformy modeli podstawowych Apple) w przypadku ich dostępności i bezproblemowe przełączanie się na modele Google hostowane w chmurze w innych przypadkach (i odwrotnie).
Na tej stronie znajdziesz informacje o tym, jak zacząć korzystać z pakietu SDK klienta, a także dodatkowe opcje konfiguracji i możliwości, takie jak temperatura.
Pamiętaj, że wnioskowanie na urządzeniu za pomocą Firebase AI Logic jest obsługiwane w przypadku aplikacji Apple korzystających z pakietu Firebase AI Logic SDK w wersji 12.13.0 lub nowszej i działających na urządzeniach z włączoną funkcją Apple Intelligence. Podlega on wymaganiom dotyczącym dopuszczalnego użytku platformy modeli podstawowych Apple.
Zalecane przypadki użycia
Korzystanie z modelu na urządzeniu do wnioskowania zapewnia:
- Zwiększona prywatność
- Wnioskowanie bez opłat
- Funkcje offline
Korzystanie z funkcji hybrydowej zapewnia:
- Zapewnianie wszystkim klientom podobnych wrażeń związanych z aplikacją niezależnie od urządzenia użytkownika
- Zwiększanie dostępności funkcji opartych na generatywnej AI niezależnie od połączenia z internetem, limitów czy możliwości urządzenia
Obsługiwane funkcje, interfejsy API i urządzenia
Zanim wdrożysz wnioskowanie hybrydowe i na urządzeniu za pomocą logiki AI Firebase, zapoznaj się z tą sekcją, aby dowiedzieć się, co jest obsługiwane w przypadku aplikacji na urządzenia Apple.
Obsługiwane funkcje i możliwości wnioskowania na urządzeniu
Wnioskowanie na urządzeniu obsługuje tylko generowanie tekstu, a w szczególności te funkcje:
Generowanie tekstu na podstawie danych wejściowych zawierających tylko tekst
Przesyłanie strumieniowe tekstu z danych wejściowych zawierających tylko tekst
Na dole tej strony znajdziesz szczegółową listę nieobsługiwanych jeszcze wnioskowań hybrydowych lub na urządzeniu.
Obsługiwane interfejsy API i urządzenia
Wnioskowanie w chmurze korzysta z wybranego dostawcy Gemini API (Gemini Developer API lub Vertex AI Gemini API).
Wnioskowanie na urządzeniu korzysta z platformy modeli podstawowych Apple, która jest dostępna tylko na urządzeniach z włączoną funkcją Apple Intelligence. Model na urządzeniu jest pobierany automatycznie po włączeniu funkcji Apple Intelligence.
Rozpocznij
Sprawdź sekcję powyżej, w której opisujemy obsługiwane funkcje, interfejsy API i urządzenia.
Te kroki wprowadzające opisują ogólną konfigurację wymaganą w przypadku każdego obsługiwanego żądania prompta, które chcesz wysłać.
Krok 1. Skonfiguruj projekt w Firebase i połącz aplikację z Firebase
Zaloguj się w Firebasekonsoli, a potem wybierz projekt w Firebase.
W konsoli Firebase otwórz Usługi AI > Logika AI.
Kliknij Rozpocznij, aby uruchomić przepływ pracy z instrukcjami, który pomoże Ci skonfigurować wymagane interfejsy API i zasoby w projekcie.
Skonfiguruj projekt, aby korzystać z dostawcy „Gemini API”.
Zalecamy rozpoczęcie od Gemini Developer API. W każdej chwili możesz skonfigurować Vertex AI Gemini API (i jego wymagania dotyczące płatności).
W przypadku Gemini Developer API konsola włączy wymagane interfejsy API i utworzy w projekcie klucz interfejsu API Gemini.
Nie dodawaj tego klucza interfejsu API Gemini do bazy kodu aplikacji. Więcej informacjiJeśli w procesie w konsoli pojawi się odpowiedni monit, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zarejestrować aplikację i połączyć ją z Firebase.
Aby dodać pakiet SDK do aplikacji, przejdź do następnego kroku w tym przewodniku.
Krok 2. Dodaj wymagane pakiety SDK
Do instalacji zależności Xcode i zarządzania nimi możesz używać menedżera pakietów Swift (SPM). Obsługa hybrydowa jest dostępna tylko w przypadku korzystania z SPM.
Firebase AI Logic Biblioteka zapewnia dostęp do interfejsów API do interakcji z modelami generatywnymi. Biblioteka jest częścią pakietu SDK Firebase na platformy Apple (firebase-ios-sdk).
Jeśli korzystasz już z Firebase, upewnij się, że pakiet Firebase ma wersję 12.13.0 lub nowszą.
Po otwarciu projektu aplikacji wybierz w Xcode opcję File > Add Package Dependencies (Plik > Dodaj zależności pakietu).
Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformy Apple:
https://github.com/firebase/firebase-ios-sdkWybierz najnowszą wersję pakietu SDK.
Wybierz bibliotekę
FirebaseAILogic.
Po zakończeniu Xcode automatycznie zacznie wyszukiwać i pobierać zależności w tle.
Krok 3. Zainicjuj usługę i utwórz instancję sesji modelu.
|
Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod dostawcy. |
Zanim wyślesz do modelu żądanie prompta, skonfiguruj te ustawienia.
Zainicjuj usługę dla wybranego dostawcy Gemini API.
Utwórz instancję
GenerativeModelSessionzHybridModel.Ustaw modele
primaryisecondaryzgodnie ze swoimi preferencjami. Możesz ustawić kolejność prób wnioskowania:Najpierw spróbuj wnioskowania na urządzeniu, ale zezwól na powrót do chmury: ustaw
primaryna model „systemowy”, asecondaryna model w chmurze.Najpierw spróbuj wnioskowania w chmurze, ale zezwól na powrót do wnioskowania na urządzeniu: ustaw
primaryna model w chmurze, asecondaryna model „systemowy”.
Pamiętaj, że pakiet SDK obsługuje ustawienie tylko jednego parametru
model, co oznacza, że pakiet SDK będzie tylko próbował wnioskowania na urządzeniu lub w chmurze. W przypadku hybrydowego doświadczenia musisz jednak utworzyćHybridModeli ustawić modeleprimaryisecondary.Więcej informacji o działaniu „trybów wnioskowania” (kolejności prób wnioskowania) znajdziesz w sekcji Opcje konfiguracji.
Poniższy przykład pokazuje, jak najpierw spróbować wnioskowania na urządzeniu, ale zezwolić na powrót do modelu hostowanego w chmurze:
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a cloud model that supports your use case
let cloudModel = ai.geminiModel(name: "GEMINI_MODEL_NAME")
// Initialize an on-device model that supports your use case
let systemModel = FirebaseAI.SystemLanguageModel.default
// Create a Hybrid Model
// Provide your preferred model as `primary` and your fallback model as `secondary`
// In this example, attempt to use on-device model; otherwise, fall back to cloud.
let hybridModel = HybridModel(
primary: systemModel,
secondary: cloudModel
)
// Create a GenerativeModelSession with the HybridModel created earlier.
let session = firebaseAI.generativeModelSession(
model: hybridModel,
)
Krok 4. Wyślij do modelu prośbę (prompt)
W tej sekcji dowiesz się, jak:
- Generowanie tekstu na podstawie danych wejściowych zawierających tylko tekst
- Przesyłanie strumieniowe tekstu z wejścia tekstowego
Generowanie tekstu na podstawie danych wejściowych zawierających tylko tekst
| Zanim wypróbujesz ten przykład, zapoznaj się z sekcją Pierwsze kroki w tym przewodniku. |
Aby wygenerować tekst na podstawie prompta, który zawiera tekst, użyj znaku respond(to:) w ten sposób:
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call `respond(to:)` with the text input
let response = try await session.respond(to: prompt)
print(response.content)
Przesyłanie strumieniowe tekstu z wejścia zawierającego tylko tekst
| Zanim wypróbujesz ten przykład, zapoznaj się z sekcją Pierwsze kroki w tym przewodniku. |
Możesz uzyskać szybsze interakcje, nie czekając na cały wynik wygenerowany przez model, i zamiast tego użyć strumieniowania do obsługi częściowych wyników. Aby przesyłać strumieniowo wygenerowany tekst z prompta zawierającego tekst, użyj streamResponse(to:) w ten sposób:
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To stream generated text output, call `streamResponse(to:)` with the text input
let stream = session.streamResponse(to: prompt)
for try await snapshot in stream {
print(snapshot.content)
}
Co jeszcze możesz zrobić?
W przypadku środowisk hybrydowych możesz korzystać z różnych dodatkowych opcji konfiguracji i funkcji:
Funkcje, które nie są jeszcze obsługiwane w przypadku wnioskowania hybrydowego lub na urządzeniu
W wersji eksperymentalnej nie są obsługiwane wszystkie funkcje modeli Firebase AI Logic ani modeli hostowanych w chmurze.
W przypadku implementacji hybrydowych lub na urządzeniu nie są obsługiwane: modele Imagen, interfejs Gemini Live API i szablony promptów. Nie należy też polegać na liczbie tokenów, ponieważ będzie się ona różnić w przypadku modeli hostowanych w chmurze i na urządzeniu, więc nie ma intuicyjnego rozwiązania rezerwowego.
Te funkcje nie są jeszcze obsługiwane w przypadku wnioskowania na urządzeniu. Jeśli chcesz korzystać z tych funkcji, zalecamy używanie tylko modelu hostowanego w chmurze, aby zapewnić większą spójność.
generowanie tekstu na podstawie danych multimodalnych, takich jak obrazy, dźwięk, filmy i dokumenty (PDF);
generowanie multimediów, takich jak obrazy, dźwięk lub filmy;
Wysyłanie żądań, które przekraczają 4096 tokenów (czyli około 3000 słów w języku angielskim).
Udostępnianie modelu na urządzeniu wbudowanych narzędzi, które pomagają mu generować odpowiedzi (takich jak wykonywanie kodu, kontekst adresu URL i grounding z wyszukiwarką Google).
Monitorowanie wykorzystania AI w konsoli Firebase nie wyświetla żadnych danych dotyczących wnioskowania na urządzeniu (w tym dzienników urządzenia). Każde wnioskowanie, które korzysta z modelu hostowanego w chmurze, można jednak monitorować tak samo jak inne wnioskowania za pomocą Firebase AI Logic.
Dodatkowe ograniczenia
Oprócz powyższych ograniczeń wnioskowanie na urządzeniu ma te ograniczenia:
Użytkownik końcowy aplikacji musi korzystać z urządzenia z włączoną funkcją Apple Intelligence.
Wnioskowanie na urządzeniu może być przeprowadzane tylko wtedy, gdy aplikacja działa na pierwszym planie.
Prześlij opinię o korzystaniu z usługi Firebase AI Logic