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 na wybranej platformie.
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ą.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację 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
W konsoli Firebase otwórz stronę Tworzenie za pomocą Gemini.
Kliknij kartę Vertex AI in Firebase, aby uruchomić przepływ pracy, który pomoże Ci wykonać te czynności:
Przejdź w projekcie na abonament Blaze z taryfą „pay-as-you-go”.
Włącz wymagane interfejsy API w projekcie (interfejs API Vertex AI i interfejs API Vertex AI in Firebase).
Przejdź do następnego kroku tego przewodnika, aby dodać pakiet SDK do aplikacji.
Jeśli nie masz jeszcze projektu Firebase ani 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.
W 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.
Do kontrolowania obsługi wersji biblioteki zalecamy używanie Firebase Android BoM.
Kotlin+KTX
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.6.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.6.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") }
Gdy używasz interfejsu Firebase Android BoM, Twoja aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
Krok 3. Zainicjuj usługę Vertex AI i model generatywny
Zanim zaczniesz wykonywać wywołania interfejsu API, musisz zainicjować usługę Vertex AIi model generatywny.
Kotlin+KTX
W przypadku Kotlin metody w tym pakiecie SDK są funkcjami zawieszania i trzeba je wywoływać z zakresu Coroutine.// 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ą typPublisher
z biblioteki 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 tego przewodnika dowiesz 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.
Możesz użyć generateContent()
, aby wygenerować tekst z promptu tekstowego w ramach żądania:
Kotlin+KTX
W przypadku Kotlin metody w tym pakiecie SDK są funkcjami zawieszania i trzeba je wywoływać z zakresu Coroutine.// 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 potrafisz?
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ę więcej o generowaniu tekstu na podstawie promptów tekstowych, w tym o przesyłaniu odpowiedzi.
- generować tekst na podstawie promptów multimodalnych (w tym tekstu, obrazów, plików PDF, filmów i plików audio);
- tworzyć rozmowy wieloetapowe (czat),
- generować dane wyjściowe w uporządkowanym formacie (np. JSON) zarówno na podstawie tekstowych, jak i wielomodalnych promptów;
- Aby połączyć modele generatywne z zewnętrznymi systemami i informacjami, użyj wywołania funkcji.
Dowiedz się, jak kontrolować generowanie treści
- Poznaj projektowanie promptów, w tym sprawdzone metody, strategie i przykładowe prompty.
- Skonfiguruj parametry modelu, takie jak temperatura i maksymalna liczba tokenów wyjściowych.
- Użyj ustawień bezpieczeństwa, aby dostosować prawdopodobieństwo otrzymywania odpowiedzi, które mogą być uznane za szkodliwe.
Prześlij opinię o tym, jak oceniasz korzystanie z usługi Vertex AI in Firebase