本指南介绍了如何开始使用适用于所选平台的 Vertex AI in Firebase SDK 直接从应用调用 Vertex AI Gemini API。
前提条件
本指南假定您熟悉使用 Android Studio 开发 Android 应用
确保您的开发环境和 Android 应用符合 以下要求:
- Android Studio(最新版本)
- 您的 Android 应用必须以 API 级别 21 或更高级别为目标平台。
(可选)查看示例应用。
您可以快速试用该 SDK,查看各种用法的完整实现。 或使用示例应用(如果您没有自己的 Android 应用)。 要使用示例应用,您需要: 将其关联到 Firebase 项目。
第 1 步:设置 Firebase 项目并将应用连接到 Firebase
如果您已有 Firebase 项目和已关联到 Firebase 的应用
在 Firebase 控制台中,前往使用 Gemini 构建页面。
点击 Vertex AI in Firebase 卡片可启动一个工作流,帮助您完成以下任务。(请注意,如果您在控制台中看到 Vertex AI,那么这些任务就完成了。)
升级您的项目以使用 Blaze 的随用随付定价方案。
为您的项目启用以下两个 API:
aiplatform.googleapis.com
和firebaseml.googleapis.com
。
继续执行本指南中的下一步,将 SDK 添加到您的应用。
如果您还没有 Firebase 项目和与 Firebase 关联的应用
第 2 步:添加 SDK
设置完 Firebase 项目并将应用连接到 Firebase(请参阅上一步)后,您现在可以将 Vertex AI in Firebase SDK 添加到应用了。
适用于 Android 的 Vertex AI in Firebase SDK (firebase-vertexai
) 提供对 Vertex AI Gemini API 的访问权限。
在您的模块(应用级)Gradle 配置文件中
(如 <project>/<app-module>/build.gradle.kts
),添加
Vertex AI in Firebase SDK for Android:
Kotlin+KTX
dependencies {
// ... other androidx dependencies
// add the dependency for the Vertex AI in Firebase SDK for Android
implementation("com.google.firebase:firebase-vertexai:16.0.0-beta06")
}
Java
对于 Java,您需要额外添加两个库。
dependencies {
// ... other androidx dependencies
// add the dependency for the Vertex AI in Firebase SDK for Android
implementation("com.google.firebase:firebase-vertexai:16.0.0-beta06")
// 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 的其他功能
- 详细了解如何根据仅包含文本的提示生成文本,包括如何流式传输回答。
- 生成文本: 多模态提示 (包括文本、图片、PDF 文件、视频和音频)。
- 构建多轮对话(聊天)。
- 使用函数调用进行连接 生成模型与外部系统和信息共享。
了解如何控制内容生成
您还可以使用以下方法对提示和模型配置进行实验: Vertex AI Studio。就您使用 Vertex AI in Firebase 的体验提供反馈