Przeprowadź migrację, aby używać pakietów SDK Vertex AI zamiast pakietów SDK AI od Google

Na tej stronie znajdziesz instrukcje migracji z pakietów SDK klienta Google AI na pakiety SDK klienta Vertex AI in Firebase w aplikacjach mobilnych lub internetowych. Pakiety SDK Vertex AI in Firebase są dostępne na platformy Apple (Swift), Android (Kotlin i Java), internet (JavaScript) i Flutter (Dart).

Przejdź bezpośrednio do instrukcji migracji

Dlaczego warto przejść na Vertex AI?

Być może wypróbowano alternatywną wersję pakietu Gemini API za pomocą pakietu Google AI Studio lub pakietu Google AI SDK klienta. Te pakiety SDK ułatwiają rozpoczęcie pracy z Gemini API i prototypowanie. W przypadku wersji produkcyjnych lub aplikacji mobilnych i internetowych na potrzeby firm, które bezpośrednio wywołują funkcję Gemini API po stronie klienta, Firebase zdecydowanie zaleca wywoływanie funkcji Vertex AI Gemini API za pomocą pakietów SDK Firebase.

Funkcje zabezpieczeń w aplikacji mobilnej i internetowej

W przypadku aplikacji mobilnych i internetowych bezpieczeństwo jest kluczowe i wymaga szczególnej uwagi, ponieważ kod (w tym wywołania do Gemini API) działa w niechronionym środowisku.

  • Domyślnie Vertex AI Gemini API jest autoryzowany przez Google Cloud IAM (a nie przez klucz interfejsu API, taki jak Google AI Gemini API). Pakiety SDK Vertex AI in Firebase zostały zaprojektowane tak, aby wywoływać bardziej bezpieczny interfejs Vertex AI Gemini API.

  • W przypadku aplikacji mobilnych i internetowych musisz chronić Gemini API oraz zasoby projektu (np. dostrojone modele) przed nadużyciami przez nieautoryzowanych klientów. Możesz użyć Firebase App Check, aby sprawdzić, czy wszystkie wywołania interfejsu API pochodzą z Twojej aplikacji. Ta funkcja jest dostępna tylko wtedy, gdy używasz pakietów SDK Vertex AI in Firebase.

Ekosystem stworzony z myślą o aplikacji mobilnej i internetowej

Firebase to platforma Google do tworzenia aplikacji mobilnych i internetowych. Korzystanie z pakietów SDK Vertex AI in Firebase oznacza, że Twoje aplikacje są częścią ekosystemu, który jest dostosowany do potrzeb aplikacji full-stack i ich deweloperów. Na przykład możesz wykonywać te czynności:

  • Użyj Cloud Storage for Firebase, aby uwzględnić duże pliki w zapytaniach multimodalnych. Korzystaj też z pakietów SDK klienta, które obsługują przesyłanie i pobieranie plików (nawet w niekorzystnych warunkach sieciowych) oraz zapewniają większą ochronę danych użytkowników końcowych. Więcej informacji znajdziesz w naszym przewodniku po rozwiązaniach dotyczących Cloud Storage for Firebase.

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

  • Dynamicznie ustawiaj konfiguracje czasu wykonywania (np. lokalizację) lub zamieniaj wartości w aplikacji (np. nazwę modelu) bez publikowania nowej wersji aplikacji za pomocą Firebase Remote Config.

Dodatkowe korzyści płynące z użycia Vertex AI z poziomu Google Cloud

W miarę jak będziesz coraz częściej używać generatywnej AI w aplikacjach i przepływach pracy, możesz potrzebować platformy, która oferuje kompleksowe rozwiązania do tworzenia i wdrażania aplikacji z generatywną AI. Google Cloud udostępnia kompleksowy ekosystem narzędzi, które umożliwiają wykorzystanie potencjału generatywnej AI od początkowych etapów tworzenia aplikacji po jej wdrażanie, hosting i zarządzanie złożonymi danymi na dużą skalę.

Platforma Vertex AI od Google Cloud oferuje zestaw narzędzi MLOps, które usprawniają korzystanie z modeli AI, ich wdrażanie i monitorowanie, co zwiększa wydajność i bezpieczeństwo. Dodatkowo integracja z bazami danych, narzędziami DevOps, logowaniem, monitorowaniem i usługą IAM zapewnia holistyczne podejście do zarządzania całym cyklem życia generatywnej AI.

Więcej informacji o przypadkach użycia usługi Vertex AI znajdziesz w dokumentacji Google Cloud.

Migracja do pakietów SDK Vertex AI in Firebase

Migracja do pakietów SDK Vertex AI in Firebase wymaga wykonania 3 głównych czynności:

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

  2. Migracja bazy kodu, która wymaga tylko zmiany pakietu SDK i kodu inicjalizacji (w tym nazwy modelu). Nie musisz modyfikować żadnego kodu, który wywołuje interfejs Gemini API.

  3. Usuń wszystkie nieużywane klucze interfejsu API i wyłącz nieużywane interfejsy API.

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

Nawet jeśli znasz już Firebase, przeczytaj tę sekcję, aby mieć pewność, że Twój projekt i aplikacja Firebase są skonfigurowane pod kątem korzystania z pakietów SDKVertex AI in Firebase.

Krok 2. Przenieś kod źródłowy

Wybierz platformę aplikacji, aby wyświetlić instrukcje dotyczące tej platformy.

Pakiety SDK Google AIVertex AI in Firebase zostały tak zaprojektowane, aby przejście z jednej platformy na drugą było jak najprostsze.

Aby przeprowadzić migrację, wystarczy zmienić pakiet SDK, który integrujesz z bazą kodu aplikacji, oraz inicjalizację usługi i modelu generatywnego. Nie musisz modyfikować kodu, który wywołuje funkcję Gemini API.

Zmiana pakietu SDK

Google AI

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")

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

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

Vertex AI in Firebase

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.2")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.2")

  // 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")
}

Zmień inicjalizację

Google AI

Kotlin+KTX

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

Java

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

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

Vertex AI in Firebase

Kotlin+KTX

val generativeModel = Firebase.vertexAI.generativeModel("MODEL_NAME")

Java

GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("MODEL_NAME");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Aktualizowanie importów

W podanych niżej fragmentach kodu jako przykłady użyto klas Chat, ContentGenerativeModelFutures, ale te same zasady powinny obowiązywać w przypadku innych klas w ramach tego samego pakietu.

Google AI

Kotlin+KTX

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

Java

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

Vertex AI in Firebase

Kotlin+KTX

import com.google.firebase.vertexai.Chat
import com.google.firebase.vertexai.type.Content
import com.google.firebase.vertexai.java.GenerativeModuleFutures

Java

import com.google.firebase.vertexai.Chat;
import com.google.firebase.vertexai.type.Content;
import com.google.firebase.vertexai.java.GenerativeModuleFutures;

Krok 3. Usuń wszystkie nieużywane klucze interfejsu API i wyłącz nieużywane interfejsy API.

Jeśli nie musisz już używać klucza API Google AI, zgodnie ze sprawdzonymi metodami zabezpieczeń usuń go. Klucze interfejsu API Google AI możesz wyświetlać i usuwać w sekcji Klucze interfejsu APIGoogle AI Studio.

Jeśli nie korzystasz już z narzędzia Google AI Gemini API, wyłącz je w projekcie. Możesz to zrobić w konsoli Google Cloud na stronie Generative Language API (generativelanguage.googleapis.com). („Generative Language API” to oficjalna nazwa interfejsu Google AI Gemini API).

Co jeszcze możesz zrobić?

  • Zarówno Google AI, jak i Vertex AI udostępniają interfejs internetowy „playground” (plac zabaw) o nazwie „AI Studio”, który umożliwia eksperymentowanie z promptami i parametrami modelu. Więcej informacji o przenoszeniu promptów Google AI Studio do Vertex AI Studio znajdziesz w dokumentacji Google Cloud.