Gemini API クイックスタート

このクイックスタートでは、任意の SDK を使用して Gemini API の使用を開始する方法について説明します。


前提条件

このクイックスタートは、Android Studio を使用して Android アプリを開発することに精通していることを前提としています。

このクイックスタートを完了するには、開発環境と Android アプリが次の要件を満たしていることを確認してください。

  • Android Studio(最新バージョン)
  • Android アプリは、API レベル 21 以降をターゲットにする必要があります。

Gemini をオンデバイスで利用する

このチュートリアルで説明する Android 用クライアント SDK を使用すると、Google のサーバーで実行される Gemini モデルにアクセスできます。センシティブ データの処理やオフラインの可用性が含まれるユースケースや、頻繁に使用されるユーザーフローの費用削減が目的のユースケースでは、オンデバイスで実行される Gemini Nano へのアクセスを検討することをおすすめします。詳しくは、Android(デバイス上)のページをご覧ください。

Gemini API SDK をインストールする

  1. モジュール(アプリレベル)の Gradle 構成ファイル(<project>/<app-module>/build.gradle.kts など)に、Google AI SDK for 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

    Java の場合、2 つのライブラリを追加する必要があります。

    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 で作成します。

Google AI Studio から API キーを取得する

次に、鍵を構成します。

API キーをバージョン管理システムにチェックインしないことを強くおすすめします。代わりに、local.properties ファイル(プロジェクトのルート ディレクトリにあるがバージョン管理からは除外される)に保存し、Android 用 Secrets Gradle プラグインを使用して、API キーをビルド構成変数として読み取ります。

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;

Secrets Gradle プラグインの実装を確認するには、この SDK のサンプルアプリを確認するか、Gemini API Starter テンプレート(開始に必要な local.properties ファイルを含む)が用意されている Android Studio Iguana の最新プレビュー版を使用します。

ライブラリをインポートする

Google の生成 AI ライブラリをインポートします。

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;

最初のリクエストを送信する

generateContent メソッドを使用してテキストを生成します。

Kotlin

generateContent() は suspend 関数であり、コルーチンのスコープから呼び出す必要があります。コルーチンに慣れていない場合は、Android の Kotlin コルーチンをご覧ください。

    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()ListenableFuture を返します。この API に精通していない場合は、ListenableFuture の使用に関する Android ドキュメントをご覧ください。

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

次のステップ

Gemini API へのリクエストを送信する準備が整いました。Gemini API の全機能を使用できるため、アプリとワークフローを構築できます。Gemini API の機能の使用を開始するには、次のガイドをご覧ください。

Gemini API のメソッドとリクエスト パラメータの詳細については、API リファレンスのガイドをご覧ください。