本页介绍了如何在移动应用或 Web 应用中从 Google AI 客户端 SDK 迁移到 Vertex AI in Firebase 客户端 SDK。Vertex AI in Firebase SDK 适用于 Apple 平台 (Swift)、Android (Kotlin 和 Java)、Web (JavaScript) 和 Flutter (Dart)。
为什么要迁移到使用 Vertex AI?
您可能尝试过使用 Google AI Studio 或 Google AI 客户端 SDK 使用 Gemini API 的替代版本。这些 SDK 有助于您开始使用 Gemini API 和进行原型设计。不过,对于直接调用 Gemini API 客户端的正式版或企业级移动应用和 Web 应用,Firebase 强烈建议使用 Firebase SDK 调用 Vertex AI Gemini API。
适用于移动应用和 Web 应用的安全功能
对于移动应用和 Web 应用,安全至关重要,需要特别注意,因为您的代码(包括对 Gemini API 的调用)是在不受保护的环境中运行的。
默认情况下,Vertex AI Gemini API 由 Google Cloud IAM(而非 Google AI Gemini API 等 API 密钥)授权。Vertex AI in Firebase SDK 旨在调用更安全的 Vertex AI Gemini API。
对于移动应用和 Web 应用,您需要保护 Gemini API 和项目资源(例如经过调整的模型)免遭未经授权的客户端滥用。您可以使用 Firebase App Check 验证所有 API 调用是否来自您的实际应用,并且只有在您使用 Vertex AI in Firebase SDK 时,此功能才可用。
专为移动应用和 Web 应用打造的生态系统
Firebase 是 Google 的移动应用和 Web 应用开发平台。 使用 Vertex AI in Firebase SDK 意味着您的应用将位于一个专注于全栈应用和开发者需求的生态系统中。例如,您可以执行以下任一操作及更多操作:
使用 Cloud Storage for Firebase 在多模式请求中添加大型文件。此外,您还可以利用客户端 SDK 来处理文件上传和下载(即使在网络状况不佳的情况下),并为最终用户的数据提供更高的安全性。如需了解详情,请参阅有关使用 Cloud Storage for Firebase 的解决方案指南。
使用专为移动应用和 Web 应用构建的数据库 SDK(例如 Cloud Firestore)管理结构化数据。
使用 Firebase Remote Config 动态设置运行时配置(例如位置信息)或替换应用中的值(例如模型名称),而无需发布新的应用版本。
从 Google Cloud 使用 Vertex AI 的其他优势
随着您在应用和工作流中使用生成式 AI 的成熟,您可能需要一个平台,该平台提供端到端解决方案来构建和部署生成式 AI 应用。Google Cloud 提供了一个全面的工具生态系统,使您能够充分利用生成式 AI 的强大力量(从应用开发的初始阶段到应用部署、应用托管以及大规模管理复杂的数据)。
Google Cloud 的 Vertex AI 平台提供了一套 MLOps 工具,可简化 AI 模型的使用、部署和监控,以提高效率和可靠性。此外,与数据库、DevOps 工具、日志记录、监控和 IAM 的集成提供了一种全面的方法来管理整个生成式 AI 生命周期。
如需详细了解 Vertex AI 的使用情形,请参阅 Google Cloud 文档。
迁移到 Vertex AI in Firebase SDK
迁移到 Vertex AI in Firebase SDK 需要完成以下三个主要步骤:
设置新的或现有的 Firebase 项目,并将应用连接到 Firebase。
迁移代码库,只需更改 SDK 和初始化代码(包括模型名称)即可。实际上调用 Gemini API 的任何代码都无需修改。
删除所有未使用的 API 密钥并停用未使用的 API。
第 1 步:设置 Firebase 项目并将应用连接到 Firebase
即使您已经熟悉 Firebase,也请查看本部分,确保您的 Firebase 项目和应用已设置为使用 Vertex AI in Firebase SDK。
第 2 步:迁移代码库
选择应用的平台以查看平台专用说明。
Google AI SDK 和 Vertex AI in Firebase SDK 的设计旨在让您能够尽可能轻松地在两个平台之间迁移。
如需进行迁移,您只需更改要集成到应用代码库中的 SDK,以及服务和生成式模型的初始化。您无需修改实际调用 Gemini API 的任何代码!
更改 SDK
Google AI
<script type="importmap">
{
"imports": {
"@google/generative-ai": "https://esm.run/@google/generative-ai"
}
}
</script>
Vertex AI in Firebase
使用 npm 安装 Firebase JS SDK for Web:
npm install firebase
在您的应用中初始化 Firebase:
import { initializeApp } from "firebase/app"; // TODO(developer) Replace the following with your app's Firebase configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; const firebaseApp = initializeApp(firebaseConfig);
更改初始化
Google AI
<html>
<body>
<!-- ... Your HTML and CSS -->
<script type="module">
import { GoogleGenerativeAI } from "@google/generative-ai";
// Fetch your API_KEY
const API_KEY = "...";
// Access your API key
const genAI = new GoogleGenerativeAI(API_KEY);
// ...
const model = genAI.getGenerativeModel({ model: "MODEL_NAME"});
// ...
</script>
</body>
</html>
Vertex AI in Firebase
// ...
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";
// ...
const vertexAI = getVertexAI(firebaseApp);
const model = getGenerativeModel(vertexAI, { model: "MODEL_NAME" });
第 3 步:删除所有未使用的 API 密钥并停用未使用的 API
如果您不再需要使用 Google AI API 密钥,请遵循安全性最佳实践并将其删除。您可以在 Google AI Studio 的 API 密钥部分中查看和删除 Google AI API 密钥。
此外,如果您不再使用 Google AI Gemini API,请在项目中停用它。您可以在 Google Cloud 控制台的 Generative Language API (generativelanguage.googleapis.com
) 页面中执行此操作。(“生成式语言 API”是 Google AI Gemini API 的官方名称。)
您还可以执行以下操作
- Google AI 和 Vertex AI 都提供一个名为“AI Studio”的 Web 界面“Playground”体验,可用于试验提示和模型参数。如需了解如何将 Google AI Studio 提示迁移到 Vertex AI Studio,请参阅 Google Cloud 文档。