跳到主要内容

Google Vertex AI PaLM 2

入门

要开始使用,请按照 Vertex AI Gemini 集成教程入门 部分中概述的步骤创建 Google Cloud Platform 账户并建立一个可以访问 Vertex AI API 的新项目。

添加依赖

将以下依赖项添加到您项目的 pom.xml 中:

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-vertex-ai</artifactId>
<version>1.0.0-beta3</version>
</dependency>

或项目的 build.gradle 中:

implementation 'dev.langchain4j:langchain4j-vertex-ai:1.0.0-beta3'

尝试示例代码:

使用 Vertex AI 嵌入模型的示例

PROJECT_ID 字段表示您在创建新 Google Cloud 项目时设置的变量。

import dev.langchain4j.data.message.AiMessage;
import dev.langchain4j.data.message.UserMessage;
import dev.langchain4j.model.chat.ChatLanguageModel;
import dev.langchain4j.model.output.Response;
import dev.langchain4j.model.vertexai.VertexAiChatModel;

public class ChatLanguageModel {

private static final String PROJECT_ID = "YOUR-PROJECT-ID";
// `chat-bison` 表示 PaLM2 通用聊天模型
private static final String MODEL_NAME = "chat-bison";

public static void main(String[] args) {
ChatLanguageModel model = VertexAiChatModel.builder()
.endpoint("us-central1-aiplatform.googleapis.com:443")
.location("us-central1")
.publisher("google")
.project(PROJECT_ID)
.modelName(MODEL_NAME)
.temperature(0.0)
.build();

ChatResponse response = model.chat(
UserMessage.from(
"用几句话描述你是什么语言模型:\n" +
"用几句话描述你的代号是什么:"
)
);
System.out.println(response.aiMessage().text());

// 我是由 Google 训练的大型语言模型。
// 我是一个基于 transformer 的语言模型,经过了大量文本和代码数据集的训练。
// 我能够理解和生成人类语言,也能用各种编程语言编写代码。
//
// 我的代号是 PaLM 2,代表 Pathways Language Model 2。

}

}

可用的聊天模型

聊天模型针对多轮对话进行了优化,模型会跟踪聊天中的前几条消息并将其用作生成新回复的上下文。

模型名称描述属性
chat-bison针对多轮对话用例进行了微调。最大输入令牌数:8192。最大输出令牌数:2048
chat-bison-32k针对多轮对话用例进行了微调。最大令牌数(输入 + 输出):32,768。最大输出令牌数:8,192
codechat-bison一个针对帮助解决代码相关问题的聊天机器人对话进行微调的模型。最大输入令牌数:6144。最大输出令牌数:1024
codechat-bison-32k一个针对帮助解决代码相关问题的聊天机器人对话进行微调的模型。最大令牌数(输入 + 输出):32,768。最大输出令牌数:8,192

您可以使用裸模型名称,例如 chat-bison,或指定稳定版本, 如 chat-bison@002

可用的文本模型

文本模型针对执行自然语言任务进行了优化,如分类、摘要、提取、内容创建和构思。

对于 text-bisontext-bison-32ktext-unicorn 等文本模型,请使用 VertexAiLanguageModel

参考

Google Codelab 关于 Vertex AI PaLM 2 模型

PaLM2 生成模型

模型命名解释

可用的 PalM 稳定版本

示例