このクイックスタートでは、Java クライアント ライブラリを使用して PaLM API でチャット サービスの使用を開始します。
API キーを取得する
まず、API キーを取得する必要があります。
API クライアントのインストール
この手順では、PaLM Java SDK をローカル Maven リポジトリにインストールし、Gradle プロジェクトに依存関係として追加できるようにします。
- google-cloud-ai-generativelanguage-v1-java.tar.gz ファイルをダウンロードします。
ファイルを抽出し、
mavenLocal
にインストールします。# Extract the files tar -xzvf google-cloud-ai-generativelanguage-v1-java.tar.gz cd google-cloud-ai-generativelanguage-v1-java # Install to mavenLocal ./gradlew publishToMavenLocal
プロジェクトに SDK を追加する
Gradle 構成ファイルを開き、
mavenLocal()
がrepositories
の下にリストされていることを確認します。repositories { mavenCentral() // ... // Add the Maven Local repository mavenLocal() }
また、Gradle 構成ファイルで、必要なライブラリを
dependencies
ブロックに追加します。dependencies { // ... // Add these dependencies to use Generative AI implementation("com.google.cloud:gapic-google-cloud-ai-generativelanguage-v1-java:0.0.0-SNAPSHOT") implementation("io.grpc:grpc-okhttp:1.53.0") }
ディスカッション サービス クライアントを初期化する
API キー(API_KEY
環境変数で指定)をヘッダーとして DiscussServiceSettings
で使用する TransportChannelProvider
に渡して、DiscussServiceClient
を初期化します。
import com.google.ai.generativelanguage.v1.DiscussServiceClient;
import com.google.ai.generativelanguage.v1.DiscussServiceSettings;
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
import com.google.api.gax.rpc.FixedHeaderProvider;
HashMap<String, String> headers = new HashMap<>();
headers.put("x-goog-api-key", System.getEnv("API_KEY"));
InstantiatingGrpcChannelProvider provider = InstantiatingGrpcChannelProvider.newBuilder()
.setHeaderProvider(FixedHeaderProvider.create(headers))
.build();
DiscussServiceSettings settings = DiscussServiceSettings.newBuilder()
.setTransportChannelProvider(provider)
.setCredentialsProvider(FixedCredentialsProvider.create(null))
.build();
DiscussServiceClient client = DiscussServiceClient.create(settings);
メッセージ プロンプトを作成する
ディスカッションの次のメッセージを予測できるように、MessagePrompt
を API に提供する必要があります。
(省略可)例をいくつか作成する
必要に応じて、モデルで生成される内容の例を指定できます。これには、ユーザー入力と、モデルがエミュレートする必要があるレスポンスの両方が含まれます。
import com.google.ai.generativelanguage.v1.Example;
import com.google.ai.generativelanguage.v1.Message;
Message input = Message.newBuilder()
.setContent("What is the capital of California?")
.build();
Message response = Message.newBuilder()
.setContent("If the capital of California is what you seek, Sacramento is where you ought to peek.")
.build();
Example californiaExample = Example.newBuilder()
.setInput(input)
.setOutput(response)
.build();
プロンプトを作成する
現在のメッセージ履歴と、必要に応じて前の手順の例とともに、例を MessagePrompt.Builder
に渡します。
import com.google.ai.generativelanguage.v1.Message;
import com.google.ai.generativelanguage.v1.MessagePrompt;
Message geminiMessage = Message.newBuilder()
.setAuthor("0")
.setContent("How tall is the Eiffel Tower?")
.build();
MessagePrompt messagePrompt = MessagePrompt.newBuilder()
.addMessages(geminiMessage) // required
.setContext("Respond to all questions with a rhyming poem.") // optional
.addExamples(californiaExample) // use addAllExamples() to add a list of examples
.build();
メッセージを生成
GenerateMessageRequest
を作成する
モデル名とプロンプトを GenerateMessageRequest.Builder
に渡して、GenerateMessageRequest
を作成します。
GenerateMessageRequest request = GenerateMessageRequest.newBuilder()
.setModel("models/chat-bison-001") // Required, which model to use to generate the result
.setPrompt(messagePrompt) // Required
.setTemperature(0.5f) // Optional, controls the randomness of the output
.setCandidateCount(1) // Optional, the number of generated messages to return
.build();
リクエストを送信する
GenerateMessageResponse response = client.generateMessage(request);
Message returnedMessage = response.getCandidatesList().get(0);
System.out.println(returnedMessage);
次のステップ
PaLM API を使用して最初の Java アプリを作成しました。以下のリソースを参照して、API と言語モデル全般の詳細を確認してください。
- プロンプトの手法について詳しくは、LLM の概要をご覧ください。