PaLM API: Panduan memulai Chat dengan Java

Panduan memulai ini akan membantu Anda memulai penggunaan layanan chat di PaLM API melalui library klien Java.

Mendapatkan Kunci API

Untuk memulai, Anda harus mendapatkan kunci API.

Menginstal Klien API

Petunjuk ini akan membuat PaLM Java SDK diinstal di repositori Maven lokal sehingga Anda dapat menambahkannya sebagai dependensi ke project Gradle Anda.

  1. Download file google-cloud-ai-generativelanguage-v1-java.tar.gz.
  2. Ekstrak file dan instal di 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
    

Menambahkan SDK ke project Anda

  1. Buka file konfigurasi Gradle dan pastikan mavenLocal() tercantum di repositories:

    repositories {
        mavenCentral()
        // ...
    
        // Add the Maven Local repository
        mavenLocal()
    }
    
  2. Selain itu, di file konfigurasi Gradle Anda, tambahkan library yang diperlukan ke blok 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")
    }
    

Melakukan inisialisasi Klien Layanan Diskusikan

Lakukan inisialisasi DiscussServiceClient dengan meneruskan Kunci API Anda (disediakan melalui variabel lingkungan API_KEY) sebagai header ke TransportChannelProvider untuk digunakan oleh DiscussServiceSettings:

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);

Buat Dialog Pesan

Anda harus menyediakan MessagePrompt ke API agar dapat memprediksi pesan berikutnya dalam diskusi.

(opsional) Buat beberapa contoh

Secara opsional, Anda dapat memberikan beberapa contoh hal yang akan dihasilkan oleh model. Ini mencakup input pengguna dan respons yang harus diemulasikan oleh model.

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();

Membuat perintah

Teruskan contoh ke MessagePrompt.Builder bersama dengan histori pesan saat ini dan jika perlu, contoh dari langkah sebelumnya.

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();

Buat Pesan

Membuat GenerateMessageRequest

Buat GenerateMessageRequest dengan meneruskan nama model dan perintah ke GenerateMessageRequest.Builder:

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();

Mengirim permintaan

GenerateMessageResponse response = client.generateMessage(request);

Message returnedMessage = response.getCandidatesList().get(0);

System.out.println(returnedMessage);

Langkah berikutnya

Setelah membuat aplikasi Java pertama Anda menggunakan PaLM API, lihat referensi di bawah untuk mempelajari lebih lanjut API dan model bahasa secara umum.

  • Lihat topik Pengantar LLM untuk mempelajari lebih lanjut teknik permintaan.