Krótkie wprowadzenie do interfejsu Gemini API

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 samouczek, 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.

Uzyskiwanie 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 przypadku zastosowań obejmujących przetwarzanie danych wrażliwych, dostępność offline lub oszczędność kosztów w przypadku często używanych przepływów danych użytkowników warto rozważyć użycie Gemini Nano, który działa na urządzeniu. Więcej informacji znajdziesz na stronie poświęconej Androidowi (na urządzeniu).

Instalowanie pakietu SDK Google AI

  1. 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")
    }
    
  2. Zsynchronizuj projekt Androida z plikami Gradle.

Konfigurowanie uwierzytelniania

Najprostszym sposobem uwierzytelnienia się w interfejsie 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 API, utwórz go w Google AI Studio.

Uzyskiwanie klucza interfejsu API z Google AI Studio

Następnie skonfiguruj klucz.

Zdecydowanie zalecamy, aby nie przekazywać klucza interfejsu API do systemu 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 potem użyć wtyczki Gradle do obsługi tajemnic w Androidzie, 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 Secrets, możesz zapoznać się z próbną aplikacją dla tego pakietu SDK lub użyć najnowszej wersji podglądu Android Studio Iguana, która zawiera szablon Gemini API Starter (zawierający plik local.properties, który ułatwi Ci rozpoczęcie pracy).

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 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?

Gdy już skonfigurujesz wysyłanie żądań do interfejsu Gemini API, możesz korzystać z pełnego zakresu jego funkcji do tworzenia 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.