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ą.
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
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ą płatności według wykorzystania.
Włącz wymagane interfejsy API w projekcie (interfejs API Vertex AI i interfejs API Vertex AI in Firebase).
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.
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.
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ą 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 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ę 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) na podstawie zarówno tekstowych, jak i wielomodalnych promptów;
- Użyj funkcji wywoływania, aby połączyć modele generatywne z zewnętrznymi systemami i informacjami.
Dowiedz się, jak kontrolować generowanie treści
- Zrozumieć 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żywaj ustawień bezpieczeństwa, aby dostosować prawdopodobieństwo otrzymywania odpowiedzi, które mogą być uważane za szkodliwe.
Prześlij opinię o swoich wrażeniach z korzystania z usługi Vertex AI in Firebase