透過 Vertex AI for Firebase SDK 開始使用 Gemini API


本指南說明如何開始呼叫 直接在應用程式中使用 Vertex AI Gemini API Vertex AI for Firebase SDK

事前準備

本指南假設您熟悉 Android Studio 的使用方式 。

  • 請確保開發環境和 Android 應用程式符合 符合以下條件:

    • Android Studio (最新版本)
    • 您的 Android 應用程式必須指定 API 級別 21 以上版本。
  • (選用) 查看範例應用程式。

    下載範例應用程式

    您可以快速試用 SDK,查看各種用途的完整導入方式 或沒有自己的 Android 應用程式,也可使用範例應用程式。 如要使用範例應用程式,您必須完成以下工作: 將其連結至 Firebase 專案

步驟 1:設定 Firebase 專案並將應用程式連結至 Firebase

如果您已經有 Firebase 專案,且有一個應用程式連結至 Firebase

  1. 在 Firebase 控制台中,前往 運用 Gemini 建構內容頁面: 然後按一下第二張資訊卡,啟動工作流程 來記錄這些資料如果您在控制台中看到 Vertex AI 的分頁, 這些工作在完成時

  2. 請繼續進行本指南的下一步驟,將 SDK 加入應用程式。

如果您尚未有 Firebase 專案,且有一個應用程式連結至 Firebase


步驟 2:新增 SDK

設定 Firebase 專案,並將應用程式連結至 Firebase (請參閱上一個步驟),您可以將 Vertex AI for Firebase SDK 新增至應用程式。

Vertex AI for Firebase SDK for Android (firebase-vertexai) 提供 使用 Vertex AI Gemini API

模組 (應用程式層級) Gradle 設定檔中 (例如 <project>/<app-module>/build.gradle.kts),請新增 Android 適用的 Vertex AI for Firebase SDK:

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI for Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.0-beta03")
}

Java

針對 Java,您必須額外新增兩個程式庫。

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI for Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.0-beta03")

  // 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")
}

步驟 3:初始化 Vertex AI 服務和生成式模型

您必須先初始化 Vertex AI,才能發出 API 呼叫 以及生成式模型

Kotlin+KTX

針對 Kotlin,這個 SDK 中的方法為暫停函式,需要呼叫 協同程式範圍中的映像檔。
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")

Java

如果是 Java,此 SDK 中的串流方法會傳回 Reactive Streams 程式庫Publisher 類型。
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

閱讀完入門指南後,請瞭解如何選擇 Gemini 模型,以及視需要調整 找出適合您的用途和應用程式的位置

步驟 4:呼叫 Vertex AI Gemini API

您已將應用程式連結至 Firebase、加入 SDK 並初始化 Vertex AI 服務和生成式模型 準備呼叫 Vertex AI Gemini API

您可以使用 generateContent(),透過純文字提示生成文字 要求:

Kotlin+KTX

針對 Kotlin,這個 SDK 中的方法為暫停函式,需要呼叫 協同程式範圍中的映像檔。
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")

// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)

Java

如果是 Java,這個 SDK 中的方法會傳回 ListenableFuture
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// Provide a prompt that contains text
Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
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 模型

進一步瞭解 適用於各種用途配額與定價

試用 Gemini API 的其他功能

瞭解如何控管內容生成功能

您也可以使用 Vertex AI Studio


提供意見 您對 Vertex AI for Firebase 的使用體驗