このクイックスタートでは、任意の SDK を使用して Gemini API の使用を開始する方法について説明します。
前提条件
このクイックスタートは、Android Studio を使用して Android アプリを開発することに精通していることを前提としています。
このクイックスタートを完了するには、開発環境と Android アプリが次の要件を満たしていることを確認してください。
- Android Studio(最新バージョン)
- Android アプリは、API レベル 21 以降をターゲットにする必要があります。
Gemini をオンデバイスで利用する
このチュートリアルで説明する Android 用クライアント SDK を使用すると、Google のサーバーで実行される Gemini モデルにアクセスできます。機密データの処理、オフラインでの可用性、頻繁に使用されるユーザーフローの費用削減が関係するユースケースでは、デバイス上で実行される Gemini Nano へのアクセスを検討することをおすすめします。詳しくは、Android(デバイス上)のページをご覧ください。
Google AI SDK をインストールする
モジュール(アプリレベル)の 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") }
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 リファレンスのガイドをご覧ください。