跳到主要内容

Google Vertex AI PaLM 2

备注

「Bison」モデルはGoogleによって廃止されました。 したがって、VertexAiChatModelVertexAiLanguageModelは現在非推奨となり、 将来のバージョンで削除される予定です。 代わりにlangchain4j-vertex-ai-geminiモジュールの VertexAiGeminiChatModelを使用する「Gemini」モデルのいずれかを使用してください。

はじめに

始めるには、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-beta4</version>
</dependency>

またはプロジェクトのbuild.gradleに:

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

サンプルコードを試す:

Vertex AI埋め込みモデルを使用する例

PROJECT_IDフィールドは、新しいGoogle Cloudプロジェクトを作成するときに設定した変数を表します。

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

public class ChatModelExample {

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) {
ChatModel 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によってトレーニングされた大規模言語モデルです。
// 私はテキストとコードの膨大なデータセットでトレーニングされた
// トランスフォーマーベースの言語モデルです。
// 私は人間の言語を理解して生成することができ、
// さまざまなプログラミング言語でコードを書くこともできます。
//
// 私のコードネームは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を使用してください。

参考資料

Vertex AI PaLM 2モデルに関するGoogleのコードラボ

PaLM2生成モデル

モデル命名の説明

利用可能なPaLM安定バージョン