Tworzenie hybrydowych funkcji w aplikacjach Apple za pomocą modeli na urządzeniu i hostowanych w chmurze

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:

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

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

  1. Zaloguj się w konsoli Firebase i wybierz projekt w Firebase.

  2. W konsoli Firebase otwórz Usługi AI > AI Logic.

  3. Kliknij Rozpocznij, aby uruchomić proces, który pomoże Ci skonfigurować wymagane interfejsy API i zasoby w projekcie.

  4. 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.

  5. 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).

  6. 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.

  7. 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.

  1. W Xcode, po otwarciu projektu aplikacji, kliknij File > Add Package Dependencies (Plik > Dodaj zależności pakietu).

  2. Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformy Apple:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Wybierz najnowszą wersję pakietu SDK.

  4. Wybierz biblioteki FirebaseAILogic i FirebaseAppCheck.

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):

  1. W projekcie Xcode zaimportuj FirebaseAppCheck i zainicjuj App Check za pomocą fabryki dostawcy debugowania, zanim skonfigurujesz Firebase.

    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()
          }
        }
      }
    }
    
  2. Uzyskaj token debugowania:

    1. Uruchom aplikację w symulatorze lub na urządzeniu testowym.

    2. 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'.
      
    3. Skopiuj token (na przykład 123a4567-b89c-12d3-e456-789012345678).

  3. Zarejestruj token debugowania w App Check:

    1. W konsoli Firebase otwórz kartę Zabezpieczenia > Sprawdzanie aplikacji > Aplikacje.

    2. Znajdź aplikację, kliknij rozszerzone menu (), a następnie wybierz Zarządzaj tokenami debugowania.

    3. 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.

  1. Zainicjuj usługę dla wybranego dostawcy Gemini API.

  2. Utwórz instancję GenerativeModelSession z HybridModel.

  3. Ustaw modele primary i secondary zgodnie 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 primary na model „systemowy”, a secondary na model w chmurze.

    • Najpierw spróbuj przeprowadzić wnioskowanie w chmurze, ale zezwól na przejście na urządzenie: ustaw primary na model w chmurze, a secondary na 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ć HybridModel i ustawić modele primary i secondary.

    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

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:

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:


Prześlij opinię o korzystaniu z usługi Firebase AI Logic