PaLM API: การเริ่มต้นใช้งานแชทอย่างรวดเร็วด้วย Java

การเริ่มต้นอย่างรวดเร็วนี้จะช่วยคุณเริ่มต้นใช้งานบริการแชทใน PaLM API ผ่านไลบรารีของไคลเอ็นต์ Java

รับคีย์ API

คุณจะต้องรับคีย์ API เพื่อเริ่มต้นใช้งาน

การติดตั้งไคลเอ็นต์ API

วิธีการเหล่านี้จะติดตั้ง PaLM Java SDK ในที่เก็บ Maven ในเครื่อง เพื่อให้คุณเพิ่มเป็นทรัพยากร Dependency ในโปรเจ็กต์ Gradle ได้

  1. ดาวน์โหลดไฟล์ google-cloud-ai-generativelanguage-v1-java.tar.gz
  2. แตกไฟล์และติดตั้งใน 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 ลงในโปรเจ็กต์ของคุณ

  1. เปิดไฟล์การกำหนดค่า Gradle แล้วตรวจสอบว่า mavenLocal() แสดงอยู่ในส่วน repositories

    repositories {
        mavenCentral()
        // ...
    
        // Add the Maven Local repository
        mavenLocal()
    }
    
  2. นอกจากนี้ในไฟล์การกำหนดค่า 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")
    }
    

เริ่มต้นไคลเอ็นต์บริการ Discuss

เริ่มต้น DiscussServiceClient โดยการส่งคีย์ API (ระบุผ่านตัวแปรสภาพแวดล้อม API_KEY) เป็นส่วนหัวไปยัง TransportChannelProvider เพื่อให้ 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);

สร้างข้อความแจ้งเกี่ยวกับข้อความ

คุณต้องระบุ 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 โดยการส่งชื่อโมเดลและพรอมต์ไปยัง 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();

ส่งคำขอ

GenerateMessageResponse response = client.generateMessage(request);

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

System.out.println(returnedMessage);

ขั้นตอนถัดไป

ตอนนี้คุณสร้างแอป Java แอปแรกโดยใช้ PaLM API แล้ว ลองดูแหล่งข้อมูลด้านล่างเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ API และโมเดลภาษาโดยทั่วไป