改用 Vertex AI SDK 替代 Google AI SDK


本页面介绍了如何在移动应用或 Web 应用中从 Google AI 客户端 SDK 迁移到 Vertex AI for Firebase 客户端 SDK。Vertex AI for Firebase SDK 适用于 Apple 平台 (Swift)、Android(Kotlin 和 Java)、Web (JavaScript) 和 Flutter (Dart)。

直接查看迁移说明

为什么要迁移到 Vertex AI?

您可能使用 Google AI StudioGoogle AI 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 for Firebase SDK,则可以调用 Vertex AI Gemini API。

  • 对于移动应用和 Web 应用,您还需要保护 Gemini API 和项目资源(例如经调参的模型)免遭未经授权的客户端滥用。您可以使用 Firebase App Check 来验证所有 API 调用是否都来自您的实际应用,此功能仅在使用 Vertex AI for Firebase SDK 时可用。

专为移动应用和 Web 应用打造的生态系统

Firebase 是 Google 用于开发移动应用和 Web 应用的平台。使用 Vertex AI for Firebase SDK 意味着您的应用所处的生态系统专注于全栈应用和开发者的需求。例如,您已准备好执行以下任一操作以及更多操作:

  • 使用 Cloud Storage for Firebase 在多模态请求中包含大型文件。此外,利用客户端 SDK 来处理文件上传和下载(即使在网络条件不佳的情况下),还可以为最终用户的数据提供更高的安全性。如需了解详情,请参阅我们有关使用 Cloud Storage for Firebase 的解决方案指南

  • 使用专为移动应用和 Web 应用构建的数据库 SDK(如 Cloud Firestore)管理结构化数据。

  • 动态设置运行时配置(例如位置)或替换应用中的值(例如模型名称),而无需使用 Firebase Remote Config 发布新的应用版本。

Vertex AI Gemini API 的功能

Vertex AI Gemini API 还提供与 Google AI Gemini API 不同的功能,例如针对多模态提示(特别是文字和视频以及文字和音频输入)的更多选项。

如需详细了解两种 Gemini API 产品之间的差异,请参阅 Google Cloud 文档。

使用 Google Cloud 中的 Vertex AI 的其他优势

随着您在应用和工作流中使用生成式 AI 的成熟,您可能需要一个平台来提供用于构建和部署生成式 AI 应用的端到端解决方案。Google Cloud 提供了全面的工具生态系统,可让您从应用开发的初始阶段,到应用部署、应用托管以及大规模管理复杂数据,让您能够充分利用生成式 AI 的力量。

Google Cloud 的 Vertex AI 平台提供了一套 MLOps 工具,这些工具可简化 AI 模型的使用、部署和监控,以提高效率和可靠性。此外,与数据库、DevOps 工具、日志记录、监控和 IAM 的集成提供了一种管理整个生成式 AI 生命周期的全面方法。

如需详细了解 Vertex AI 的使用场景,请参阅 Google Cloud 文档。

迁移到 Vertex AI for Firebase SDK

迁移到 Vertex AI for Firebase SDK 需要执行以下三个主要步骤:

  1. 设置一个新的或现有的 Firebase 项目,并将您的应用关联到 Firebase。

  2. 迁移您的代码库,这只需要更改 SDK 和初始化代码(包括模型名称)。对于实际调用 Gemini API 的任何代码,无需做出任何修改。

  3. 删除所有未使用的 API 密钥并停用未使用的 API。

第 1 步:设置一个 Firebase 项目,并将您的应用关联到 Firebase

即使您已经熟悉 Firebase,也请查看本部分内容,确保您的 Firebase 项目和应用已设置为使用 Vertex AI for Firebase SDK。

第 2 步:迁移代码库

选择您的应用平台,查看针对该平台的说明。

Google AI SDK 和 Vertex AI for Firebase SDK 的构建旨在确保两个平台之间的迁移尽可能简单。

若要进行迁移,您只需更改要集成到应用代码库中的 SDK 以及服务和生成模型的初始化。您无需修改任何实际调用 Gemini API 的代码!

更改 SDK

Google AI

<script type="importmap">
  {
    "imports": {
      "@google/generative-ai": "https://esm.run/@google/generative-ai"
    }
  }
</script>

Vertex AI for Firebase

  1. 使用 npm 安装 Firebase JS SDK for Web:

    npm install firebase
    
  2. 在您的应用中初始化 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 for Firebase

// ...
import { getVertexAI, getGenerativeModel } from "firebase/vertexai-preview";

// ...

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 控制台中执行此操作:generativelanguage.googleapis.com

您还可以做些什么?