Możesz tworzyć aplikacje i funkcje oparte na AI na urządzenia Apple z wnioskowaniem hybrydowym za pomocą Firebase AI Logic. Wnioskowanie hybrydowe umożliwia przeprowadzanie wnioskowania przy użyciu modeli na urządzeniu (w szczególności platformy Foundation Models firmy Apple), gdy są one dostępne, a w przeciwnym razie płynne przełączanie się na modele Google hostowane w chmurze (i odwrotnie).
Na tej stronie opisujemy, jak zacząć korzystać z pakietu SDK klienta, oraz przedstawiamy dodatkowe opcje i możliwości konfiguracji, 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 SDK Firebase AI Logic 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żytkowania platformy Foundation Models firmy Apple.
Zalecane przypadki użycia
Korzystanie z modelu na urządzeniu do wnioskowania zapewnia:
- Zwiększona prywatność
- Bezpłatne wnioskowanie
- Funkcje offline
Korzystanie z funkcji hybrydowych zapewnia:
- zapewnić wszystkim klientom podobne wrażenia użytkownika aplikacji niezależnie od urządzenia użytkownika;
- poprawić dostępność funkcji opartych na generatywnej AI niezależnie od połączenia z internetem, limitów wykorzystania 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ą Firebase AI Logic, zapoznaj się z tą sekcją, aby dowiedzieć się, jakie funkcje są obsługiwane w przypadku aplikacji na urządzenia Apple.
Obsługiwane możliwości i funkcje wnioskowania na urządzeniu
Wnioskowanie na urządzeniu obsługuje tylko generowanie tekstu, a konkretnie te funkcje:
Generowanie tekstu na podstawie danych wejściowych zawierających tylko tekst
Strumieniowanie tekstu z danych wejściowych zawierających tylko tekst
Zapoznaj się ze szczegółową listą nieobsługiwanych jeszcze wnioskowań hybrydowych i na urządzeniu u dołu tej strony.
Obsługiwane interfejsy API i urządzenia
Wnioskowanie w chmurze korzysta z wybranego dostawcy Gemini API (Gemini Developer API lub Agent Platform Gemini API (formerly Vertex AI)).
Wnioskowanie na urządzeniu korzysta z platformy Foundation Models firmy Apple, która jest dostępna tylko na urządzeniach z włączoną funkcją Apple Intelligence. Model na urządzeniu jest automatycznie pobierany po włączeniu Apple Intelligence.
Rozpocznij
Zapoznaj się z sekcją powyżej, w której opisano obsługiwane funkcje, interfejsy API i urządzenia.
Te kroki opisują ogólną konfigurację wymaganą w przypadku każdego obsługiwanego żądania promptu, które chcesz wysłać.
Krok 1. Skonfiguruj projekt w Firebase i połącz aplikację z Firebase
Zaloguj się w konsoli Firebase i wybierz projekt w Firebase.
W konsoli Firebase otwórz Usługi AI > AI Logic.
Kliknij Rozpocznij, aby uruchomić proces, który pomoże Ci skonfigurować wymagane interfejsy API i zasoby w projekcie.
Jeśli pojawi się taka prośba, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zarejestrować aplikację i dodać do niej konfigurację Firebase.
Gdy pojawi się prośba o wybranie „dostawcy interfejsu Gemini API”, zalecamy wybranie Gemini Developer API, który umożliwia szybkie rozpoczęcie korzystania bezpłatnie.
W każdej chwili możesz skonfigurować Agent Platform Gemini API (formerly Vertex AI) (i wymagane płatności).
Kontynuuj proces, aby skonfigurować wymagane interfejsy API i powiązane usługi dla Firebase AI Logic.
Od początku lipca 2026 r. ten etap przepływu pracy będzie automatycznie egzekwować Firebase App Check w przypadku AI Logic, czyli krytycznej usługi, która pomaga chronić Gemini API, gdy jest on bezpośrednio dostępny z Twojej aplikacji. Na początku (patrz kroki opisane w dalszej części tego przewodnika) musisz skonfigurować dostawcę debugowania App Check na potrzeby lokalnego programowania, gdy App Check jest egzekwowany.
Przejdź do następnego kroku w tym przewodniku, aby dodać do aplikacji wymagane pakiety SDK.
Krok 2. Dodaj wymagane pakiety SDK.
Do instalowania zależności Xcode i zarządzania nimi używaj menedżera pakietów Swift (SPM). Obsługa hybrydowa jest dostępna tylko w przypadku korzystania z SPM.
Biblioteka Firebase AI Logic zapewnia dostęp do interfejsów API umożliwiających interakcję 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 masz pakiet Firebase w wersji 12.13.0 lub nowszej.
W Xcode, po otwarciu projektu aplikacji, kliknij 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 biblioteki
FirebaseAILogiciFirebaseAppCheck.
Gdy skończysz, Xcode automatycznie zacznie przetwarzać i pobierać zależności w tle.
Krok 3. Skonfiguruj dostawcę debugowania App Check na potrzeby programowania lokalnego
Od początku lipca 2026 r. w ramach procesu konfiguracji z przewodnikiem dla AI Logic w konsoli Firebase App Check jest automatycznie egzekwowana, aby chronić Gemini API. W przypadku programowania lokalnego musisz skonfigurować App Check dostawcę debugowania, aby pominąć atestację, zachowując jednocześnie wymuszanie App Check.
Aby używać dostawcy debugowania podczas interaktywnego uruchamiania aplikacji w symulatorze (np. podczas lokalnego programowania):
W projekcie Xcode zaimportuj
FirebaseAppChecki zainicjuj App Check za pomocą fabryki dostawcy debugowania, zanim skonfigurujeszFirebase.import SwiftUI import FirebaseCore import FirebaseAppCheck @main struct YourApp: App { init() { let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }Uzyskaj token debugowania:
Uruchom aplikację w symulatorze lub na urządzeniu testowym.
Otwórz konsolę Xcode i poszukaj tokena debugowania App Check. Przykład:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.Skopiuj token (na przykład
123a4567-b89c-12d3-e456-789012345678).
Zarejestruj token debugowania w App Check:
W konsoli Firebase otwórz kartę Zabezpieczenia > Sprawdzanie aplikacji > Aplikacje.
Znajdź aplikację, kliknij rozszerzone menu (), a następnie wybierz Zarządzaj tokenami debugowania.
Aby zarejestrować token debugowania, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
Szczegółowe informacje o dostawcy debugowania (w tym o tym, jak uzyskać nowy token debugowania) znajdziesz w oficjalnej dokumentacji App Check.
Krok 4. Zainicjuj usługę i utwórz instancję sesji modelu
|
Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod dotyczące tego dostawcy. |
Zanim wyślesz do modelu żądanie prompta, skonfiguruj te elementy.
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 przeprowadzić wnioskowanie na urządzeniu, ale zezwól na przełączenie na chmurę: ustaw
primaryna model „systemowy”, asecondaryna model w chmurze.Najpierw spróbuj przeprowadzić wnioskowanie w chmurze, ale zezwól na przejście na urządzenie: ustaw
primaryna model w chmurze, asecondaryna model „systemowy”.
Pamiętaj, że pakiet SDK obsługuje ustawienie tylko jednego
model, co oznacza, że pakiet SDK będzie próbował przeprowadzić wnioskowanie tylko na urządzeniu lub w chmurze. Jeśli jednak chcesz korzystać z hybrydowego modelu, musisz utworzyćHybridModeli ustawić modeleprimaryisecondary.Więcej informacji o zachowaniu „trybów wnioskowania” (kolejności prób wnioskowania) znajdziesz w sekcji Opcje konfiguracji.
Poniższy przykład pokazuje, jak najpierw spróbować przeprowadzić wnioskowanie 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 5. Wyślij prompta do modelu
W tej sekcji dowiesz się, jak:
- Generowanie tekstu na podstawie danych wejściowych zawierających tylko tekst
- Strumieniowe przesyłanie tekstu z danych wejściowych zawierających tylko tekst
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 z prompta zawierającego tekst, użyj 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)
Strumieniowe przesyłanie tekstu z danych wejściowych zawierających tylko tekst
| Zanim wypróbujesz ten przykład, zapoznaj się z sekcją Pierwsze kroki w tym przewodniku. |
Możesz przyspieszyć interakcje, nie czekając na cały wynik wygenerowany przez model, i zamiast tego używać strumieniowania do obsługi częściowych wyników. Aby wygenerować strumieniowo tekst na podstawie 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 i funkcji konfiguracji:
Sprawdź, czy wnioskowanie zostało przeprowadzone na urządzeniu czy w chmurze.
Użyj konfiguracji modelu, aby kontrolować odpowiedzi (np. temperaturę).
Funkcje, które nie są jeszcze obsługiwane w przypadku wnioskowania hybrydowego lub na urządzeniu
Jest to wersja eksperymentalna, więc nie wszystkie funkcje Firebase AI Logic ani modeli hostowanych w chmurze są obsługiwane.
W przypadku implementacji hybrydowych i na urządzeniu nie są obsługiwane: Gemini Live API i szablony promptów serwera. Nie należy też polegać na tokenach zliczania, ponieważ liczba będzie się różnić w przypadku modeli hostowanych w chmurze i na urządzeniu, więc nie ma intuicyjnego rozwiązania zastępczego.
Te funkcje nie są jeszcze obsługiwane w przypadku wnioskowania na urządzeniu. Jeśli chcesz korzystać z którejkolwiek z tych funkcji, zalecamy używanie tylko modelu hostowanego w chmurze, aby zapewnić bardziej spójne działanie.
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 czy filmy;
Wysyłanie żądań, które przekraczają 4096 tokenów (lub około 3000 słów w języku angielskim).
udostępnianie modelowi na urządzeniu wbudowanych narzędzi, które pomagają mu generować odpowiedzi (np. wykonywanie kodu, kontekst adresu URL i powiązanie ze źródłami informacji przy użyciu wyszukiwarki Google);
Monitorowanie wykorzystania AI w konsoli Firebase nie pokazuje żadnych danych dotyczących wnioskowania na urządzeniu (w tym dzienników urządzenia). Jednak każde wnioskowanie, które korzysta z modelu hostowanego w chmurze, można monitorować tak samo jak inne wnioskowanie za pomocą Firebase AI Logic.
Dodatkowe ograniczenia
Oprócz powyższych ograniczeń wnioskowanie na urządzeniu ma te ograniczenia:
Użytkownik Twojej aplikacji musi korzystać z urządzenia z włączoną funkcją Apple Intelligence.
Aplikacja może przeprowadzać wnioskowanie na urządzeniu tylko wtedy, gdy działa na pierwszym planie.
Prześlij opinię o korzystaniu z usługi Firebase AI Logic