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

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