在Google Cloud上运行Gemini
迁移到云端
bookmark_border
在本指南中,了解为什么您可能需要将开发项目迁移到 Google Cloud,以及如何从 Google AI 将 Python 代码迁移到 Vertex AI 上的 Gemini API。
为什么要迁移到 Cloud
如果您刚开始接触 Gemini,请参阅 Google AI Studio 的快速入门和方案来快速上手。
但是,随着您的生成式 AI 解决方案日趋成熟,您可能需要一个平台来构建和部署端到端的生成式 AI 应用及解决方案。Google Cloud 提供了一个全面的工具生态系统,使开发者能够利用生成式 AI 的强大功能,从应用部署的初始阶段到大规模管理复杂数据,不一而足。Google Cloud 的 Vertex AI 平台提供一套 MLOps 工具,可简化 AI 模型的使用、部署和监控,以提高效率和可靠性。
下表总结了 Google AI 和 Vertex AI 之间的主要区别,以帮助您确定哪个选项适合您的使用场景:
特性 | Google AI Gemini API | Google Cloud Vertex AI Gemini API |
---|---|---|
最新的 Gemini 模型 | Gemini Pro 和 Gemini Ultra | Gemini Pro 和 Gemini Ultra |
注册 | Google 账号 | Google Cloud 账号(含条款协议和结算) |
身份验证 | API 密钥 | Google Cloud 服务帐号 |
界面园地 | Google AI Studio | Vertex AI Studio |
API 和 SDK | Python、Node.js、Android (Kotlin/Java)、Swift、Go | SDK 支持 Python、Node.js、Java、Go |
免费层级 | 是 | 面向新用户的 $300 Google Cloud 赠金 |
配额(每分钟请求数) | 60(可以申请增加) | 应要求增加(默认值:60) |
企业支持服务 | 否 | 数据隐私权承诺 客户加密密钥 虚拟私有云 数据驻留 访问权限透明度 |
MLOps | 否 | Vertex AI 上的完整 MLOps(例如:模型评估、模型监控、模型注册表) |
以下是迁移时需要注意的其他注意事项:
- 您可以使用现有的 Google Cloud 项目(即您用于生成 API 密钥的项目),也可以创建新的 Google Cloud 项目。
- Google AI Studio 和 Vertex AI 支持的区域可能会有所不同。请参阅 Google Cloud 上支持生成式 AI 的区域列表。
- 您在 Google AI Studio 中创建的任何模型都需要在 Vertex AI 中重新训练。
此外,与数据库、DevOps 工具、日志记录、监控和 IAM 的集成提供了一种管理整个生成式 AI 生命周期的全面方法。
以下是一些非常适合于 Google Cloud 产品的常见使用场景示例。
- 将您的应用和解决方案投入生产。借助 Cloud Functions 和 Cloud Run 等产品,您可以部署具有企业级规模、安全性和隐私权的应用。如需详细了解安全性和隐私权,请参阅 Google Cloud 上的安全、隐私权和云合规性指南。
- 使用 Vertex AI 实现端到端 MLOps 功能,从调优到向量相似度搜索和机器学习流水线。
- 借助 Cloud Functions 或 Cloud Run,使用事件驱动型架构触发 LLM 调用。
- 使用 Cloud Logging 和 BigQuery 监控应用的使用情况。
- 使用 BigQuery、Cloud Storage 和 Cloud SQL 等服务,以企业级安全机制大规模存储数据。
- 通过 BigQuery 或 Cloud Storage,使用云端数据执行检索增强生成 (RAG)。
- 创建和安排数据流水线。您可以使用 Cloud Scheduler 安排作业。
- 将 LLM 运用于您在云中的数据。如果您将数据存储在 Cloud Storage 或 BigQuery 中,则可以提示 LLM 处理这些数据。例如,提取信息、对信息进行总结或提出问题。
- 利用 Google Cloud 的数据治理/驻留政策来管理数据生命周期。
从 Google AI 上的 Gemini 迁移到 Vertex AI
本部分介绍如何从使用 Google AI Gemini 迁移到 Google Cloud 的 Vertex AI Gemini。
开始使用 Vertex AI Studio
若要通过 Vertex AI 开始使用 Gemini,最简单的方法是使用 Vertex AI Studio。
- 如果您之前通过 Google AI Studio 创建了 API 密钥,那么系统已经为您创建了 Google Cloud 项目,并且您可以使用同一项目。如需找到您的 Google Cloud 项目,请前往 Google AI Studio 中的API 密钥。
否则,您需要创建 Google Cloud 项目并启用 Vertex AI API。 如需查看相关说明,请参阅设置项目指南。
前往 Google Cloud 控制台。
为您的 Google Cloud 项目启用结算功能(如果尚未启用结算功能)。Google Cloud 新用户将获享 [$300] 的赠金。
通过此链接转到 Vertex AI Studio。您还可以在搜索栏中搜索“Vertex AI Studio”。
现在,您可以开始使用 Vertex AI Studio 了。如需了解详情,请参阅 Vertex AI Studio 文档。
Python:从 Google AI Gemini API 迁移到 Vertex AI Gemini API
以下部分显示的代码段可帮助您迁移 Python 代码以使用 Vertex AI Gemini API。
Vertex AI Python SDK 设置
在 Vertex AI 上,您不需要 API 密钥。Vertex AI 上的 Gemini 使用 IAM 访问权限进行管理,该访问权限控制用户、群组或服务帐号通过 Vertex AI SDK 调用 Gemini API 的权限。
身份验证的方法有很多种。您可以按照此决策树来为您的使用场景选择合适的身份验证方法。
如需对 Vertex AI 进行推断调用,您还必须确保已启用 Vertex AI User。
安装客户端的代码示例
Google AI | Vertex AI |
---|---|
pip install google-generativeaifrom google.generativeai import GenerativeModelfrom google.colab import userdatagenai.configure(userdata.get('API_KEY')) |
pip install google-cloud-aiplatformimport vertexaifrom google.cloud.aiplatform.private_preview.generative_models i mport GenerativeModel, ImagePROJECT_ID = ""REGION = "" # e.g. us-central1vertexai.init(project=PROJECT_ID, location=REGION) |
根据文本提示生成文本的代码示例
Google AI | Vertex AI |
---|---|
model = GenerativeModel('gemini-pro')response = model.generate_content('The opposite of hot is')print(response.text) # The opposite of hot is cold. |
model = GenerativeModel('gemini-pro')response = model.generate_content('The opposite of hot is')print(response.text) # The opposite of hot is cold. |
基于文本和图片生成文本的代码示例
Google AI | Vertex AI |
---|---|
import PIL.Imagemultimodal_model = GenerativeModel('gemini-pro-vision')image = PIL.Image.open('image.jpg')response = multimodal_model.generate_content(['What is this picture?', image])print(response.text) # A cat is shown in this picture. |
multimodal_model = GenerativeModel("gemini-pro-vision")image = Image.load_from_file("image.jpg")response = multimodal_model.generate_content(["What is shown in this image?", image])print(response.text) # A cat is shown in this picture. |
生成多轮聊天的代码示例
Google AI | Vertex AI |
---|---|
model = GenerativeModel('gemini-pro')chat = model.start_chat()print(chat.send_message("How are you?").text)print(chat.send_message("What can you do?").text) |
model = GenerativeModel("gemini-pro")chat = model.start_chat()print(chat.send_message("How are you?").text)print(chat.send_message("What can you do?").text) |
删除未使用的 API 密钥
如果您不再需要使用 Google AI Gemini API 密钥,请遵循安全最佳实践并将其删除。
后续步骤
- 请参阅 Vertex AI 概览,详细了解 Vertex AI 上的生成式 AI 解决方案。
- 查看 Gemini API 概览,深入了解 Google AI Gemini API