本指南介绍如何将 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
类,请运行以下 import 语句: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,设置过程相同。如需了解详情,请参阅 Python 版 Vertex AI SDK 简介。以下是安装 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 |
---|---|
|
|
后续步骤
- 如需详细了解最新模型和功能,请参阅 Vertex AI Gemini API 概览。