本指南介绍如何将 Python 版 Vertex AI SDK 代码从使用 PaLM API 迁移到使用 Gemini API。您可以使用 Gemini 生成文本、多轮对话(聊天)和代码。迁移后,请检查您的回答,因为 Gemini 输出可能与 PaLM 输出不同。如需了解详情,请参阅 Vertex AI SDK 中的多模态类简介。
Gemini 与 PaLM 的差异
以下是 Gemini 和 PaLM 模型之间的一些区别:
它们的回答结构不同。如需了解 Gemini 回答结构,请参阅 Gemini API 模型参考回答正文。
它们的安全类别不同。如需了解 Gemini 和 PaLM 安全设置之间的差异,请参阅 Gemini 与其他模型系列之间的主要区别。
Gemini 无法执行代码补全。如果您需要创建代码补全应用,请使用
code-gecko
模型。如需了解详情,请参阅 Codey 代码补全模型。对于代码生成,Gemini 的背诵块率更高。
Codey 代码生成模型中的置信度得分表示模型对其回答的置信度,不会在 Gemini 中公开。
更新 PaLM 代码以使用 Gemini 模型
GenerativeModel
类中的方法与 PaLM 类中的方法基本相同。例如,使用 GenerativeModel.start_chat
替换 PALM 等效项 ChatModel.start_chat
。不过,由于 Google Cloud 会不断改进和更新 Gemini,因此您可能会遇到一些差异。如需了解详情,请参阅 Python SDK 参考文档。
如需从 PaLM API 迁移到 Gemini API,您需要进行以下代码修改:
对于所有 PaLM 模型类,您都可以在 Gemini 中使用
GenerativeModel
类。如需使用
GenerativeModel
类,请运行以下导入语句:from vertexai.generative_models import GenerativeModel
如需加载 Gemini 模型,请使用
GenerativeModel
构造函数,而不是使用from_pretrained
方法。例如,如需加载 Gemini 1.0 Pro 模型,请使用GenerativeModel(gemini-1.0-pro)
。如需在 Gemini 中生成文本,请使用
GenerativeModel.generate_content
方法,而不是用于 PaLM 模型的predict
方法。例如:
model = GenerativeModel("gemini-1.0-pro-002") response = model.generate_content("Write a short poem about the moon")
Gemini 和 PaLM 类比较
在 Gemini 中,每个 PaLM 模型类都被 GenerativeModel
类替换。下表显示了 PaLM 模型使用的类及其在 Gemini 中的等效类。
PaLM 模型 | PaLM 模型类 | Gemini 模型类 |
---|---|---|
text-bison |
TextGenerationModel |
GenerativeModel |
chat-bison |
ChatModel |
GenerativeModel |
code-bison |
CodeGenerationModel |
GenerativeModel |
codechat-bison |
CodeChatModel |
GenerativeModel |
常用设置说明
对于 Vertex AI 中的 PaLM API 和 Gemini API,设置过程相同。如需了解详情,请参阅 Vertex AI SDK for Python 简介。以下是一个用于安装 Python 版 Vertex AI SDK 的简短代码示例。
pip install google-cloud-aiplatform import vertexai vertexai.init(project="PROJECT_ID", location="LOCATION")
在此示例代码中,将 PROJECT_ID 替换为您的 Google Cloud 项目 ID,并将 LOCATION 替换为您的 Google Cloud 项目的位置(例如 us-central1
)。
Gemini 和 PaLM 代码示例
以下每对代码示例都包含 PaLM 代码,以及从 PaLM 代码迁移过来的 Gemini 代码。
文本生成:基本
以下代码示例展示了用于创建文本生成模型的 PaLM API 和 Gemini API 之间的区别。
PaLM | Gemini |
---|---|
|
|
使用参数生成文本
以下代码示例显示了用于创建文本生成模型的 PaLM API 和 Gemini API 之间的区别,其中提供可选的参数。
PaLM | Gemini |
---|---|
|
|
聊天
以下代码示例展示了用于创建聊天模型的 PaLM API 和 Gemini API 之间的区别。
PaLM | Gemini |
---|---|
|
|
代码生成
以下代码示例展示了用于生成用于预测某一年是否为闰年的函数的 PaLM API 和 Gemini API 之间的区别。
Codey | Gemini |
---|---|
|
|
将提示迁移到 Gemini 模型
如果您之前在 PaLM 2 模型中使用过一些提示,则可以使用 Vertex AI 提示优化器(预览版)对其进行优化,以便与 Gemini 模型搭配使用。
后续步骤
- 如需详细了解最新模型和功能,请参阅 Google 模型页面。