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,您需要添加两个额外的库。

    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 密钥签入版本控制系统。请改为将 API 密钥存储在 local.properties 文件中(该文件位于项目的根目录中,但从版本控制中排除),然后使用 Android 版 Secrets Gradle 插件以 build 配置变量的形式读取 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 的示例应用,或使用 Android Studio Iguana 的最新预览版,该模板具有 Gemini API 入门版模板(包含 local.properties 文件以帮助您入门)。

导入库

导入 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() 是一个挂起函数,需要从协程作用域中调用。如果您不熟悉协程,请参阅 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,请参阅 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);

后续步骤

现在,您已设置好向 Gemini API 发出请求,接下来可以使用 Gemini API 的全部功能来构建应用和工作流。如需开始使用 Gemini API 功能,请参阅以下指南:

如需详细了解 Gemini API 方法和请求参数,请参阅 API 参考文档中的指南。