改用 Vertex AI SDK 替代 Google AI SDK


本页介绍了如何在移动应用或 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 StudioGoogle AI 客户端 SDK 使用 Gemini API 的替代版本。这些 SDK 对于开始使用 Gemini API 和 原型设计不过,对于生产企业规模的移动应用和 Web 应用 直接调用 Gemini API 客户端的应用,Firebase 强烈建议 使用 Firebase SDK 调用 Vertex AI Gemini API

适用于移动应用和 Web 应用的安全功能

对移动应用和 Web 应用而言,安全性至关重要,并且需要特殊的 需要考虑的因素,因为您的代码(包括对 Gemini API 的调用) 在不受保护的环境中运行

  • 默认情况下,Vertex AI Gemini APIGoogle 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 需要完成以下三个主要步骤:

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

  2. 迁移代码库,只需更改 SDK 和 初始化代码(包括模型名称)。没有修改 实际调用 Gemini API 的任何代码都需要的 ID。

  3. 删除所有未使用的 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

  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 in 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 API 键 Google AI StudioAPI 密钥部分

此外,如果您不再使用 Google AI Gemini API,请在以下位置将其停用: 自己的项目您可以在 Google Cloud 控制台中执行此操作(从 Generative Language API (generativelanguage.googleapis.com) 页面。(“Generative Language API”是 Google AI Gemini API。)

您还可以做些什么?