Pierwsze kroki z interfejsem Gemini {/8}API za pomocą Vertex AI w pakietach SDK Firebase


W tym przewodniku znajdziesz informacje o tym, jak zacząć korzystać z funkcji Vertex AI Gemini API bezpośrednio z aplikacji za pomocą pakietu SDK Vertex AI in Firebase przeznaczonego dla wybranej platformy.

Wymagania wstępne

W tym przewodniku zakładamy, że wiesz, jak używać Android Studio do tworzenia aplikacji na Androida.

  • Upewnij się, że środowisko programistyczne i aplikacja na Androida spełniają te wymagania:

    • Android Studio (najnowsza wersja)
    • Aplikacja na Androida musi być kierowana na interfejs API na poziomie 21 lub wyższym.
  • (Opcjonalnie) Zapoznaj się z przykładową aplikacją.

    Pobierz przykładową aplikację

    Możesz szybko wypróbować pakiet SDK, zobaczyć pełne wdrożenie różnych przypadków użycia lub użyć przykładowej aplikacji, jeśli nie masz własnej aplikacji na Androida. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.

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

Jeśli masz już projekt Firebase i aplikację połączoną z Firebase

  1. W konsoli Firebase otwórz stronę Tworzenie za pomocą Gemini.

  2. Kliknij kartę Vertex AI in Firebase, aby uruchomić przepływ pracy, który pomoże Ci wykonać te czynności:

  3. Aby dodać pakiet SDK do aplikacji, przejdź do następnego kroku w tym przewodniku.

Jeśli nie masz jeszcze projektu Firebase i aplikacji połączonej z Firebase


Krok 2. Dodaj pakiet SDK

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

Pakiet SDK Vertex AI in Firebase na Androida (firebase-vertexai) zapewnia dostęp do usługi Vertex AI Gemini API.

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

Kotlin+KTX

dependencies {
    // ... other androidx dependencies

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

    // Add the dependency for the Vertex AI in Firebase library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-vertexai")
}

Java

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

    // Add the dependency for the Vertex AI in Firebase library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-vertexai")

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

Dzięki użyciu Firebase Android BoMaplikacja zawsze będzie używać zgodnych wersji bibliotek Firebase na Androida.

Krok 3. Inicjuj usługę Vertex AI i model generatywny

Zanim zaczniesz wykonywać wywołania interfejsu API, musisz zainicjować usługę Vertex AI i model generatywny.

Kotlin+KTX

W przypadku Kotlina metody w tym pakiecie SDK są funkcjami zawieszającymi i muszą być wywoływane z zakresu współbieżności.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")

Java

W przypadku Javy metody strumieniowania w tym pakiecie SDK zwracają typ Publisherbiblioteki Reaktywne strumienie.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-flash");

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

Po przeczytaniu przewodnika możesz dowiedzieć się, jak wybrać model Gemini i (opcjonalnie) lokalizację odpowiednią do Twojego przypadku użycia i aplikacji.

Krok 4. Zadzwoń do Vertex AI Gemini API

Po połączeniu aplikacji z Firebase, dodaniu pakietu SDK i inicjalizacji usługi Vertex AI oraz modelu generatywnego możesz wywołać funkcję Vertex AI Gemini API.

Aby wygenerować tekst z promptu tekstowego, użyj generateContent():

Kotlin+KTX

W przypadku Kotlina metody w tym pakiecie SDK są funkcjami zawieszania i muszą być wywoływane z zakresu współbieżności.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")

// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)

Java

W przypadku Javy metody w tym pakiecie SDK zwracają wartość ListenableFuture.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// Provide a prompt that contains text
Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

Co jeszcze możesz zrobić?

Więcej informacji o modelach Gemini

Dowiedz się więcej o modelach dostępnych w różnych przypadkach użycia oraz ich limitach i cenach.

Wypróbuj inne funkcje usługi Gemini API

Dowiedz się, jak kontrolować generowanie treści

Możesz też eksperymentować z promptami i konfiguracjami modeli za pomocą Vertex AI Studio.


Prześlij opinię o swoich wrażeniach z korzystania z usługi Vertex AI in Firebase