Przejście z pakietów SDK klienta Google AI na pakiety SDK Firebase AI Logic


Przejdź bezpośrednio do instrukcji migracji

Dlaczego warto przejść na Firebase AI Logic zestawy SDK?

Być może wypróbowano alternatywny zestaw pakietów SDK klienta mobilnego lub internetowego, który zapewniał dostęp do Gemini Developer API.

Te pakiety SDK klienta nie były zintegrowane z solidnym ekosystemem Firebase, który oferuje kluczowe usługi dla aplikacji mobilnych i internetowych. Zostały one wycofane na rzecz Firebase AI Logic pakietów SDK klienta, które mogą zapewnić Ci dostęp do Gemini Developer API.

Funkcje zabezpieczeń aplikacji mobilnych i internetowych

W przypadku aplikacji mobilnych i internetowych bezpieczeństwo ma kluczowe znaczenie i wymaga szczególnej uwagi, ponieważ Twój kod – w tym wywołania interfejsu Gemini API – jest uruchamiany w niechronionym środowisku. Możesz użyć Firebase App Check, aby chronić interfejsy API przed nadużyciami ze strony nieautoryzowanych klientów.

Gdy używasz Firebase App CheckFirebase AI Logic, nigdy nie dodajesz klucza interfejsu API Gemini dla Gemini Developer API bezpośrednio do bazy kodu aplikacji mobilnej lub internetowej. Zamiast tego klucz interfejsu API Gemini pozostaje na serwerze i nie jest widoczny dla złośliwych podmiotów.

Ekosystem stworzony z myślą o aplikacjach mobilnych i internetowych

Firebase to platforma Google do tworzenia aplikacji mobilnych i internetowych. Korzystanie z tej platformyFirebase AI Logic oznacza, że Twoje aplikacje znajdują się w ekosystemie, który jest skoncentrowany na potrzebach aplikacji i deweloperów. Przykład:

  • Dynamicznie ustawiaj konfiguracje w czasie działania lub zamieniaj wartości w aplikacji (np. nazwę i wersję modelu) bez publikowania nowej wersji aplikacji za pomocą Firebase Remote Config.

  • Użyj Cloud Storage for Firebase, aby uwzględnić duże pliki w żądaniach multimodalnych (jeśli używasz Vertex AI Gemini API). Klienckie pakiety SDK Cloud Storage pomagają w przesyłaniu i pobieraniu plików (nawet w przypadku słabego połączenia sieciowego) oraz zapewniają większe bezpieczeństwo danych użytkowników. Więcej informacji znajdziesz w naszym przewodniku po rozwiązaniach dotyczącym korzystania z Cloud Storage for Firebase.

  • zarządzać danymi strukturalnymi za pomocą pakietów SDK baz danych przeznaczonych dla aplikacji mobilnych i internetowych (np. Cloud Firestore);

Migracja do pakietów SDK Firebase AI Logic

Omówienie kroków migracji do pakietów SDK Firebase AI Logic:

  • Krok 1. Skonfiguruj nowy lub istniejący projekt Firebase i połącz aplikację z Firebase.

  • Krok 2. Dodaj do aplikacji pakiety SDK Firebase AI Logic.

  • Krok 3. Zaktualizuj importy i inicjalizację w aplikacji.

  • Krok 4. Zaktualizuj kod w zależności od używanych funkcji.

Krok 1. Skonfiguruj projekt Firebase i połącz aplikację

  1. Zaloguj się w Firebasekonsoli, a potem wybierz projekt Firebase.

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

  3. Kliknij Rozpocznij, aby uruchomić przepływ pracy z instrukcjami, który pomoże Ci skonfigurować wymagane interfejsy API i zasoby w projekcie.

  4. Wybierz Gemini Developer API. W każdej chwili możesz skonfigurować i używać innego dostawcę interfejsu API.

    Konsola włączy wymagane interfejsy API i utworzy w projekcie nowy, dedykowany klucz interfejsu APIGemini.
    Nie dodawaj tego nowego klucza interfejsu API Gemini do kodu aplikacji. Więcej informacji

  5. Jeś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.

  6. Aby zaktualizować bibliotekę i inicjowanie w aplikacji, postępuj zgodnie z instrukcjami w tym przewodniku po migracji.

Krok 2. Dodaj do aplikacji pakiet SDK Firebase AI Logic

Po skonfigurowaniu projektu Firebase i połączeniu aplikacji z Firebase (patrz poprzedni krok) możesz teraz dodać do aplikacji pakiet Firebase AI Logic SDK.

Swift

Do instalacji zależności Firebase i do zarządzania nimi możesz używać menedżera pakietów Swift. W razie potrzeby dowiedz się więcej o innych opcjach instalacji.

Biblioteka Firebase AI Logic zapewnia dostęp do interfejsów API do interakcji z modelami Gemini. 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.5.0 lub nowszą.

  1. Po otwarciu projektu aplikacji wybierz w Xcode opcję 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 bibliotekę FirebaseAILogic i bibliotekę FirebaseAppCheck.

Po zakończeniu Xcode automatycznie zacznie wyszukiwać i pobierać zależności w tle.

Kotlin

Firebase AI Logic Pakiet SDK na Androida (firebase-ai) zapewnia dostęp do interfejsów API do interakcji z modelami Gemini.

pliku Gradle na poziomie modułu (aplikacji) (np. <project>/<app-module>/build.gradle.kts) dodaj zależności bibliotek Firebase AI LogicApp Check na Androida. Zalecamy używanie Firebase Android BoM do kontrolowania wersji biblioteki.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.15.0"))

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
  implementation("com.google.firebase:firebase-appcheck-debug")
}

Gdy korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.

Java

Firebase AI Logic Pakiet SDK na Androida (firebase-ai) zapewnia dostęp do interfejsów API do interakcji z modelami Gemini.

pliku Gradle na poziomie modułu (aplikacji) (np. <project>/<app-module>/build.gradle.kts) dodaj zależności bibliotek Firebase AI LogicApp Check na Androida. Zalecamy używanie Firebase Android BoM do kontrolowania wersji biblioteki.

W przypadku Javy musisz dodać 2 dodatkowe biblioteki.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.15.0"))

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
  implementation("com.google.firebase:firebase-appcheck-debug")

  // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Reactive Streams)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

Gdy korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.

Web

Biblioteka Firebase AI Logic zapewnia dostęp do interfejsów API do interakcji z modelami Gemini. Biblioteka jest częścią pakietu Firebase JavaScript SDK na potrzeby internetu.

  1. Zainstaluj pakiet Firebase JS SDK na potrzeby internetu za pomocą npm:

    npm install firebase
    
  2. Zainicjuj Firebase w aplikacji:

    import { initializeApp } from "firebase/app";
    import { initializeAppCheck, DebugProvider } from "firebase/app-check";
    
    // TODO(developer) Replace the following with your app's Firebase configuration
    // See: https://firebase.google.com/docs/web/learn-more#config-object
    const firebaseConfig = {
      // ...
    };
    
    // Initialize FirebaseApp
    const firebaseApp = initializeApp(firebaseConfig);
    

Dart

Wtyczka Firebase AI Logic do Fluttera (firebase_ai) zapewnia dostęp do interfejsów API do interakcji z modelami Gemini.

  1. W katalogu projektu Flutter uruchom to polecenie, aby zainstalować wtyczki Firebase AI LogicApp Check:

    flutter pub add firebase_ai firebase_app_check
    
  2. W pliku lib/main.dart zaimportuj wtyczki Firebase AI LogicApp Check:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'package:firebase_app_check/firebase_app_check.dart';
    import 'firebase_options.dart';
    
  3. W pliku lib/main.dart sprawdź też, czy Firebase został zainicjowany za pomocą obiektu DefaultFirebaseOptions wyeksportowanego z pliku konfiguracyjnego:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Przebuduj aplikację Flutter:

    flutter run
    

Unity

Obsługa Unity nie była dostępna w pakietach SDK klienta Google AI.

Dowiedz się, jak zacząć korzystać z pakietu Firebase AI Logic SDK do Unity.

Usuń stary pakiet SDK z aplikacji.

Po zakończeniu migracji aplikacji (patrz pozostałe sekcje tego przewodnika) usuń starą bibliotekę.

Swift

Usuń starą bibliotekę:

  1. Po otwarciu projektu aplikacji wybierz w Xcode panel Packages Dependencies (Zależności pakietów).

  2. Wybierz pakiet generative-ai-swift z listy zależności pakietu.

  3. Kliknij przycisk - u dołu listy i kliknij Usuń, aby potwierdzić.

Kotlin

dependencies {
    implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
    implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Web

// BEFORE
import { initializeApp } from "firebase/app";
import { GoogleGenerativeAI } from "@google/generative-ai";

Dart

Usuń stary pakiet:
flutter pub remove google_generative_ai

Unity

Obsługa Unity nie była dostępna w pakietach SDK klienta Google AI.

Dowiedz się, jak zacząć korzystać z pakietu Firebase AI Logic SDK do Unity.

Krok 3. Zaktualizuj importy i inicjalizację w aplikacji

Zaktualizuj importy oraz sposób inicjowania usługi backendu Gemini Developer API i tworzenia instancji GenerativeModel.

Swift

// BEFORE
import GoogleGenerativeAI

let model = GenerativeModel(name: "MODEL_NAME", apiKey: APIKey.default)

// AFTER
import FirebaseAILogic

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-3.5-flash")

Kotlin

// BEFORE
import com.google.ai.client.generativeai.Chat
import com.google.ai.client.generativeai.type.Content
import com.google.ai.client.generativeai.java.GenerativeModuleFutures

...

val generativeModel = GenerativeModel(modelName = "MODEL_NAME",
  // Access your API key as a Build Configuration variable
  apiKey = BuildConfig.apiKey
)

// AFTER
import com.google.firebase.Firebase
import com.google.firebase.ai.ai
import com.google.firebase.ai.type.GenerativeBackend

...

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-3.5-flash")

Java

// BEFORE
import com.google.ai.client.generativeai.Chat;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.java.GenerativeModuleFutures;

...

GenerativeModel gm = new GenerativeModel("MODEL_NAME",
  // Access your API key as a Build Configuration variable
  BuildConfig.apiKey
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// AFTER
import com.google.firebase.ai.FirebaseAI;
import com.google.firebase.ai.GenerativeModel;
import com.google.firebase.ai.java.GenerativeModelFutures;
import com.google.firebase.ai.type.GenerativeBackend;

...

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-3.5-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);

Web

// BEFORE
import { GoogleGenerativeAI } from "@google/generative-ai";

// Fetch your API_KEY and access your API
const API_KEY = "...";
const genAI = new GoogleGenerativeAI(API_KEY);

...

const model = genAI.getGenerativeModel({ model: "MODEL_NAME"});

// AFTER
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-3.5-flash" });

Dart

// BEFORE
import 'package:google_generative_ai/google_generative_ai.dart';

final apiKey = Platform.environment['API_KEY'];
if (apiKey == null) {
print('No \$API_KEY environment variable');
exit(1);
}

final model = GenerativeModel(model: 'MODEL_NAME', apiKey: apiKey);

// AFTER
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-3.5-flash');

Unity

Obsługa Unity nie była dostępna w pakietach SDK klienta Google AI.

Dowiedz się, jak zacząć korzystać z pakietu Firebase AI Logic SDK do Unity.

Pamiętaj, że w zależności od używanej funkcji nie zawsze możesz utworzyć instancję GenerativeModel. Aby przesyłać strumieniowo dane wejściowe i wyjściowe za pomocą Gemini Live API, utwórz instancję LiveModel.

Krok 4. Zaktualizuj kod w zależności od używanych funkcji

W tym kroku opisujemy zmiany, które mogą być wymagane w zależności od używanych funkcji.

  • Pakiety SDK klienta Firebase AI Logic nie obsługują wykonywania kodu. Jeśli korzystasz z tej funkcji, musisz uwzględnić to w swojej aplikacji.

  • Zapoznaj się z tymi listami, aby sprawdzić, czy musisz wprowadzić jakieś zmiany w kodzie, aby umożliwić migrację do pakietów SDK klienta Firebase AI Logic.

Wymagany w przypadku wszystkich języków i platform

  • Wywoływanie funkcji
    Jeśli ta funkcja została wdrożona, musisz wprowadzić zmiany w sposobie definiowania schematu. Aby dowiedzieć się, jak pisać deklaracje funkcji, zapoznaj się z aktualnym przewodnikiem po wywoływaniu funkcji.

  • Generowanie danych wyjściowych w formacie strukturalnym (np. JSON) za pomocą responseSchema
    Jeśli masz wdrożoną tę funkcję, musisz wprowadzić zmiany w sposobie definiowania schematu. Aby dowiedzieć się, jak pisać schematy JSON, zapoznaj się z nowym przewodnikiem po danych strukturalnych.

  • Timeout

    • Zmieniono domyślny limit czasu dla żądań na 180 sekund.

Wymagane w zależności od platformy lub języka

Swift

  • Wyliczenia

    • Zastąpiliśmy większość typów enum typami struct ze zmiennymi statycznymi. Ta zmiana zapewnia większą elastyczność w zakresie rozwoju interfejsu API w sposób zachowujący zgodność wsteczną. Podczas korzystania z instrukcji switch musisz teraz uwzględnić klauzulę default:, aby obejmowała nieznane lub nieobsługiwane wartości, w tym nowe wartości, które zostaną dodane do pakietu SDK w przyszłości.

    • Zmieniono nazwę wyliczenia BlockThreshold na HarmBlockThreshold. Ten typ jest teraz struct.

    • Usunięto przypadki unknownunspecified z tych wyliczeń (obecnie struct): HarmCategory, HarmBlockThreshold, HarmProbability, BlockReasonFinishReason.

    • Zastąpiliśmy wyliczenie ModelContent.Part protokołem o nazwie Part, aby umożliwić dodawanie nowych typów w sposób zapewniający zgodność wsteczną. Ta zmiana jest szczegółowo opisana w sekcji Części treści.

  • Elementy treści

    • Usunięto protokół ThrowingPartsRepresentable i uproszczono inicjatory dla ModelContent, aby uniknąć sporadycznych błędów kompilatora. Obrazy, które nie są prawidłowo zakodowane, nadal będą powodować błędy podczas używania w generateContent.

    • Zastąpiliśmy przypadki ModelContent.Part tymi typami struct zgodnymi z protokołem Part:

      • .text do TextPart
      • .data do InlineDataPart
      • .fileData do FileDataPart
      • .functionCall do FunctionCallPart
      • .functionResponse do FunctionResponsePart
  • Kategoria szkodliwości

    • Zmieniono element HarmCategory, aby nie był już zagnieżdżony w typie SafetySetting. Jeśli używasz nazwy SafetySetting.HarmCategory, możesz ją zastąpić nazwą HarmCategory.
  • Opinie dotyczące bezpieczeństwa

    • Usunęliśmy typ SafetyFeedback, ponieważ nie był używany w żadnej z odpowiedzi.
  • Metadane cytowania

    • Zmieniliśmy nazwę właściwości citationSources na citations w usłudze CitationMetadata.
  • Łączna liczba znaków podlegających rozliczeniu

    • Zmieniono właściwość totalBillableCharactersCountTokensResponse na opcjonalną, aby odzwierciedlała sytuacje, w których nie są wysyłane żadne znaki.
  • Odpowiedź kandydata

    • Nazwa CandidateResponse została zmieniona na Candidate, aby była zgodna z innymi platformami.
  • Konfiguracja generowania

    • Zmieniono właściwości publiczne GenerationConfig na internal. Wszystkie te ustawienia można nadal konfigurować w inicjatorze.

Kotlin

  • Wyliczenia

    • Zastąpiono zajęcia enumsealed zwykłymi zajęciami. Ta zmiana zapewnia większą elastyczność w zakresie rozwoju interfejsu API w sposób zgodny wstecznie.

    • Zmieniono nazwę wyliczenia BlockThreshold na HarmBlockThreshold.

    • Usunięto wartości z tych wyliczeń: HarmBlockThreshold, HarmProbability, HarmSeverity, BlockReasonFinishReason.

  • Metody obiektu blob

    • W nazwach wszystkich metod, które zawierały Blob, zamieniliśmy ten ciąg znaków na InlineData.
  • Ustawienia bezpieczeństwa

    • Pole method zostało zmienione na dopuszczające wartość null.
  • Klasa czasu trwania

    • Usunęliśmy wszystkie przypadki użycia klasy Duration w Kotlinie i zastąpiliśmy je klasą long. Ta zmiana zapewnia lepszą interoperacyjność z Javą.
  • Metadane cytowania

    • Wszystkie pola zadeklarowane wcześniej w okręgu CitationMetadata zostały umieszczone w nowej klasie o nazwie Citation. Cytaty znajdziesz na liście o nazwie citationsCitationMetadata. Ta zmiana pozwala lepiej dopasować typy na różnych platformach.
  • Licz tokeny

    • Pole totalBillableCharacters zostało zmienione na dopuszczające wartość null.
  • Łączna liczba znaków podlegających rozliczeniu

    • Zmieniono właściwość totalBillableCharactersCountTokensResponse na opcjonalną, aby odzwierciedlała sytuacje, w których nie są wysyłane żadne znaki.
  • Tworzenie instancji modelu

    • Przeniesiono parametr requestOptions na koniec listy parametrów, aby był zgodny z innymi platformami.

Java

  • Wyliczenia

    • Zastąpiono zajęcia enumsealed zwykłymi zajęciami. Ta zmiana zapewnia większą elastyczność w zakresie rozwoju interfejsu API w sposób zgodny wstecznie.

    • Zmieniono nazwę wyliczenia BlockThreshold na HarmBlockThreshold.

    • Usunięto wartości z tych wyliczeń: HarmBlockThreshold, HarmProbability, HarmSeverity, BlockReasonFinishReason.

  • Metody obiektu blob

    • W nazwach wszystkich metod, które zawierały Blob, zamieniliśmy ten ciąg znaków na InlineData.
  • Ustawienia bezpieczeństwa

    • Pole method zostało zmienione na dopuszczające wartość null.
  • Klasa czasu trwania

    • Usunęliśmy wszystkie przypadki użycia klasy Duration w Kotlinie i zastąpiliśmy je klasą long. Ta zmiana zapewnia lepszą interoperacyjność z Javą.
  • Metadane cytowania

    • Wszystkie pola zadeklarowane wcześniej w okręgu CitationMetadata zostały umieszczone w nowej klasie o nazwie Citation. Cytaty znajdziesz na liście o nazwie citationsCitationMetadata. Ta zmiana pozwala lepiej dopasować typy na różnych platformach.
  • Licz tokeny

    • Pole totalBillableCharacters zostało zmienione na dopuszczające wartość null.
  • Łączna liczba znaków podlegających rozliczeniu

    • Zmieniono właściwość totalBillableCharactersCountTokensResponse na opcjonalną, aby odzwierciedlała sytuacje, w których nie są wysyłane żadne znaki.
  • Tworzenie instancji modelu

    • Przeniesiono parametr requestOptions na koniec listy parametrów, aby był zgodny z innymi platformami.

Web

Pamiętaj, że Google AIpakiet SDK klienta w JavaScript przeszedł wiele zmian od czasu, gdy od niego odłączono Google AIpakiety SDK klienta.Firebase AI Logic Poniżej znajdziesz listę potencjalnych zmian, które warto wziąć pod uwagę podczas migracji do pakietów SDK klienta Firebase AI Logic.

  • Wyliczenia

    • Usunięto wartości z tych wyliczeń: HarmCategory, BlockThreshold, HarmProbability, HarmSeverity, BlockReasonFinishReason.
  • Przyczyna blokady

    • Zmieniono blockReasonPromptFeedback na opcjonalne.
  • Grounding w wyszukiwarce

    • Usunięto wszystkie przypadki użycia tej funkcji, ponieważ nie jest ona jeszcze obsługiwana w zestawach SDKFirebase AI Logic.
  • Błędy

    • Usunięcie wszystkich zastosowań GoogleGenerativeAIError i opcjonalne przejście na AIError.

Dart

  • Wyliczenia

    • Usunęliśmy wartości z tych wyliczeń: HarmCategory, HarmProbability, BlockReasonFinishReason.
  • Część danych

    • Zmieniliśmy nazwę funkcji DataPart na InlineDataPart, a funkcji static data na inlineData, aby zachować spójność z innymi platformami.
  • Opcje żądania

    • Usunięto RequestOptions, ponieważ timeout nie działało. W najbliższej przyszłości zostanie ona ponownie dodana, ale zostanie przeniesiona do typu GenerativeModel, aby pasować do innych platform.
  • Sekwencje zatrzymania

    • Zmieniono parametr stopSequences w pliku GenerationConfig tak, aby był opcjonalny i domyślnie przyjmował wartość null zamiast pustej tablicy.
  • Cytowania

    • Zmieniliśmy nazwę właściwości citationSources na citations w usłudze CitationMetadata. Typ CitationSource został zmieniony na Citation, aby był zgodny z innymi platformami.
  • Niepotrzebne typy, metody i właściwości publiczne

    • Usunęliśmy te typy, metody i właściwości, które zostały udostępnione nieumyślnie: defaultTimeout, CountTokensResponseFields, parseCountTokensResponse, parseEmbedContentResponse, parseGenerateContentResponse, parseContent, BatchEmbedContentsResponse, ContentEmbedding, EmbedContentRequestEmbedContentResponse.
  • Licz tokeny

    • Usunięto z funkcji countTokens dodatkowe pola, które nie są już potrzebne. Wystarczy tylko contents.
  • Tworzenie instancji modelu

    • Przeniesiono parametr systemInstruction na koniec listy parametrów, aby był zgodny z innymi platformami.
  • Funkcja umieszczania

    • Usunięto z modelu nieobsługiwaną funkcję osadzania (embedContentbatchEmbedContents).

Unity

Obsługa Unity nie była dostępna w pakietach SDK klienta Google AI.

Dowiedz się, jak zacząć korzystać z pakietu Firebase AI Logic SDK do Unity.


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