Краткое руководство по API Gemini

В этом кратком руководстве показано, как начать работу с Gemini API, используя выбранный вами SDK.


Предварительные условия

В этом кратком руководстве предполагается, что вы знакомы с использованием Android Studio для разработки приложений Android.

Чтобы выполнить это краткое руководство, убедитесь, что ваша среда разработки и приложение Android соответствуют следующим требованиям:

  • Android Studio (последняя версия)
  • Ваше Android-приложение должно быть ориентировано на уровень API 21 или выше.

Рассмотрите возможность доступа к Gemini на устройстве

Клиентский SDK для Android, описанный в этом руководстве, позволяет получить доступ к моделям Gemini, которые работают на серверах Google . Для случаев использования, которые включают обработку конфиденциальных данных, автономную доступность или экономию средств для часто используемых пользовательских потоков, вы можете рассмотреть возможность доступа к Gemini Nano, который работает на устройстве . Более подробную информацию можно найти на странице Android (на устройстве) .

Установите SDK Gemini API.

  1. В файле конфигурации Gradle вашего модуля (на уровне приложения) (например, <project>/<app-module>/build.gradle.kts ) добавьте зависимость для Google AI SDK для Android:

    Котлин

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

    Ява

    Для Java вам необходимо добавить две дополнительные библиотеки.

    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. Синхронизируйте проект Android с файлами Gradle.

Настройка аутентификации

Самый простой способ аутентификации в Gemini API — настроить ключ API, как описано в этом разделе. Если вам нужен более строгий контроль доступа, вместо этого вы можете использовать OAuth .

Если у вас еще нет ключа API, создайте его в Google AI Studio.

Получите ключ API от Google AI Studio.

Затем настройте свой ключ.

Настоятельно рекомендуется не проверять ключ API в вашей системе контроля версий. Вместо этого вам следует сохранить его в файле local.properties (который находится в корневом каталоге вашего проекта, но исключен из контроля версий), а затем использовать плагин Secrets Gradle для Android, чтобы прочитать ваш ключ API как переменную конфигурации сборки.

Котлин

// Access your API key as a Build Configuration variable
val apiKey = BuildConfig.apiKey

Ява

// Access your API key as a Build Configuration variable
String apiKey = BuildConfig.apiKey;

Если вы хотите увидеть реализацию плагина Secrets Gradle, вы можете просмотреть пример приложения для этого SDK или использовать последнюю предварительную версию Android Studio Iguana, в которой есть стартовый шаблон Gemini API (который включает файл local.properties для начала работы). ).

Импортируйте библиотеку

Импортируйте библиотеку Google Generative AI.

Котлин

// other imports...
import com.google.ai.client.generativeai.GenerativeModel

Ява

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

Сделайте свой первый запрос

Используйте generateContent для генерации текста.

Котлин

generateContent() — это функция приостановки, которую необходимо вызывать из области Coroutine. Если вы не знакомы с корутинами, прочитайте Kotlin Coroutines для 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)

Ява

generateContent() возвращает ListenableFuture . Если вы не знакомы с этим API, см. документацию Android об использовании 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);

Что дальше

Теперь, когда вы настроены на отправку запросов к API Gemini, вы можете использовать весь спектр возможностей API Gemini для создания своих приложений и рабочих процессов. Чтобы начать работу с возможностями Gemini API, ознакомьтесь со следующими руководствами:

Подробную документацию по методам и параметрам запроса Gemini API см. в руководствах по API .