Guía de inicio rápido de la API de Gemini

En esta guía de inicio rápido, se muestra cómo comenzar a usar la API de Gemini con el SDK que elijas.


Requisitos previos

En esta guía de inicio rápido, se da por sentado que estás familiarizado con el uso de Android Studio para desarrollar apps para Android.

Para completar esta guía de inicio rápido, asegúrate de que tu entorno de desarrollo y tu app para Android cumplan con los siguientes requisitos:

  • Android Studio (versión más reciente)
  • Tu app para Android debe tener como objetivo el nivel de API 21 o uno superior.

Considera acceder a Gemini integrado en el dispositivo

El SDK cliente para Android que se describe en este instructivo te permite acceder a los modelos de Gemini que se ejecutan en los servidores de Google. En el caso de los casos de uso que involucran el procesamiento de datos sensibles, la disponibilidad sin conexión o el ahorro de costos para los flujos de usuarios que se usan con frecuencia, te recomendamos que accedas a Gemini Nano, que se ejecuta en el dispositivo. Para obtener más detalles, consulta la página de Android (en el dispositivo).

Instala el SDK de la API de Gemini

  1. En el archivo de configuración de Gradle del módulo (nivel de app) (como <project>/<app-module>/build.gradle.kts), agrega la dependencia del SDK de Google AI para Android:

    Kotlin

    dependencies {
    
      // add the dependency for the Google AI client SDK for Android
      implementation("com.google.ai.client.generativeai:generativeai:0.7.0")
    }
    

    Java

    Para Java, debes agregar dos bibliotecas adicionales.

    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. Sincroniza tu proyecto de Android con archivos Gradle.

Configura la autenticación

La forma más sencilla de autenticarse en la API de Gemini es configurar una clave de API, como se describe en esta sección. Si necesitas controles de acceso más estrictos, puedes usar OAuth.

Si aún no tienes una clave de API, créala en Google AI Studio.

Obtén una clave de API de Google AI Studio

Luego, configura tu clave.

Te recomendamos que no registres una clave de API en tu sistema de control de versión. En cambio, debes almacenarla en un archivo local.properties (que se encuentra en el directorio raíz de tu proyecto, pero se excluye del control de versión) y, luego, usar el complemento Secrets Gradle para Android para leer tu clave de API como una variable de configuración de compilación.

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;

Si quieres ver la implementación del complemento Secrets Gradle, puedes revisar la app de ejemplo para este SDK o usar la versión preliminar más reciente de Android Studio Iguana, que tiene una plantilla de Gemini API Starter (que incluye el archivo local.properties para comenzar).

Importa la biblioteca

Importa la biblioteca de IA generativa de 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;

Realiza tu primera solicitud

Usa el método generateContent para generar texto.

Kotlin

generateContent() es una función de suspensión y se debe llamar desde un alcance de corrutinas. Si no conoces las corrutinas, lee Corrutinas de Kotlin en Android.

    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() muestra un ListenableFuture. Si no estás familiarizado con esta API, consulta la documentación de Android sobre Cómo usar un 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);

¿Qué sigue?

Ahora que tienes todo listo para realizar solicitudes a la API de Gemini, puedes usar la gama completa de funciones de la API de Gemini para compilar tus apps y flujos de trabajo. Para comenzar con las funciones de la API de Gemini, consulta las siguientes guías:

Para obtener documentación detallada de los métodos y parámetros de solicitud de la API de Gemini, consulta las guías de la referencia de la API.