Z tego krótkiego wprowadzenia dowiesz się, jak zacząć korzystać z interfejsu Gemini API za pomocą wybranego pakietu SDK.
Wymagania wstępne
W tym krótkim wprowadzeniu zakładamy, że wiesz, jak tworzyć aplikacje na Androida w Android Studio.
Aby ukończyć ten przewodnik, sprawdź, czy ś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.
Rozważ uzyskanie dostępu do Gemini na urządzeniu
Pakiet SDK klienta na Androida opisany w tym samouczku umożliwia dostęp do modeli Gemini, które działają na serwerach Google. W przypadkach użycia związanych z przetwarzaniem danych wrażliwych, dostępności w trybie offline lub w celu obniżenia kosztów często używanych przepływów użytkowników warto skorzystać z usługi Gemini Nano, która działa na urządzeniu. Więcej informacji znajdziesz na stronie poświęconej Androidowi (na urządzeniu).
Instalowanie pakietu SDK interfejsu Gemini API
W pliku konfiguracyjnym Gradle modułu (na poziomie aplikacji) (np.
<project>/<app-module>/build.gradle.kts
) dodaj zależność pakietu Google AI SDK na Androida:Kotlin
dependencies { // add the dependency for the Google AI client SDK for Android implementation("com.google.ai.client.generativeai:generativeai:0.7.0") }
Java
W przypadku Javy musisz dodać 2 dodatkowe biblioteki.
dependencies { // add the dependency for the Google AI client SDK for Android implementation("com.google.ai.client.generativeai:generativeai:0.7.0") // 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") }
Synchronizuj projekt Androida z plikami Gradle.
Konfigurowanie uwierzytelniania
Najprostszym sposobem uwierzytelnienia się w Gemini API jest skonfigurowanie klucza API zgodnie z opisem w tej sekcji. Jeśli potrzebujesz bardziej rygorystycznych kontroli dostępu, możesz zamiast tego skorzystać z protokołu OAuth.
Jeśli nie masz jeszcze klucza interfejsu API, utwórz go w Google AI Studio.
Uzyskiwanie klucza interfejsu API z Google AI Studio
Następnie skonfiguruj klucz.
Zdecydowanie odradzamy sprawdzanie klucza interfejsu API w systemie kontroli wersji. Zamiast tego należy go przechowywać w pliku local.properties
(znajduje się on w katalogu głównym projektu, ale jest wykluczony z kontroli wersji), a następnie użyć wtyczki Gradle do obsługi tajemnic na Androida, aby odczytać klucz API jako zmienną konfiguracji kompilacji.
Kotlin
// Access your API key as a Build Configuration variable
val apiKey = BuildConfig.apiKey
Java
// Access your API key as a Build Configuration variable
String apiKey = BuildConfig.apiKey;
Jeśli chcesz zobaczyć implementację wtyczki Gradle obiektów tajnych, przejrzyj przykładową aplikację dla tego pakietu SDK lub skorzystaj z najnowszej wersji testowej Androida Studio Iguana, która zawiera szablon Gemini API Starter
(zawierający plik local.properties
).
Importowanie biblioteki
Zaimportuj bibliotekę generatywnej AI od Google.
Kotlin
// other imports...
import com.google.ai.client.generativeai.GenerativeModel
Java
// other imports...
import com.google.ai.client.generativeai.GenerativeModel;
import com.google.ai.client.generativeai.java.GenerativeModelFutures;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.type.GenerateContentResponse;
Przesyłanie pierwszej prośby
Aby wygenerować tekst, użyj metody generateContent
.
Kotlin
generateContent()
to funkcja zawieszania, która musi być wywoływana z zakresu funkcji współbieżnej. Jeśli nie znasz coroutines, przeczytaj artykuł Kotlin: coroutines na Androidzie.
val generativeModel =
GenerativeModel(
// Specify a Gemini model appropriate for your use case
modelName = "gemini-1.5-flash",
// Access your API key as a Build Configuration variable (see "Set up your API key" above)
apiKey = BuildConfig.apiKey)
val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
generateContent()
zwraca wartość ListenableFuture
. Jeśli nie znasz tego interfejsu API, zapoznaj się z dokumentacją Androida dotyczącą korzystania z interfejsu ListenableFuture
.
// Specify a Gemini model appropriate for your use case
GenerativeModel gm =
new GenerativeModel(
/* modelName */ "gemini-1.5-flash",
// Access your API key as a Build Configuration variable (see "Set up your API key"
// above)
/* apiKey */ BuildConfig.apiKey);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
Content content =
new Content.Builder().addText("Write a story about a magic backpack.").build();
// For illustrative purposes only. You should use an executor that fits your needs.
Executor executor = Executors.newSingleThreadExecutor();
ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
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 dalej?
Wiesz już, jak wysyłać żądania do Gemini API, więc możesz zacząć korzystać ze wszystkich funkcji interfejsu Gemini API przy tworzeniu aplikacji i przepływów pracy. Aby rozpocząć korzystanie z funkcji interfejsu Gemini API, zapoznaj się z tymi przewodnikami:
Szczegółową dokumentację metod i parametrów żądań interfejsu Gemini znajdziesz w przewodnikach w dokumentacji API.