API PaLM: Bắt đầu nhanh để trò chuyện bằng Java

Hướng dẫn nhanh này sẽ giúp bạn bắt đầu sử dụng dịch vụ trò chuyện trong API PaLM thông qua thư viện ứng dụng Java.

Lấy khoá API

Để bắt đầu, bạn cần lấy khoá API.

Cài đặt ứng dụng API

Những hướng dẫn này sẽ cài đặt PaLM Java SDK trong kho lưu trữ Maven cục bộ để bạn có thể thêm SDK này làm phần phụ thuộc cho dự án Gradle.

  1. Tải tệp google-cloud-ai-generativelanguage-v1-java.tar.gz xuống.
  2. Giải nén và cài đặt các tệp trong 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
    

Thêm SDK vào dự án

  1. Mở tệp cấu hình Gradle và đảm bảo mavenLocal() được liệt kê trong repositories:

    repositories {
        mavenCentral()
        // ...
    
        // Add the Maven Local repository
        mavenLocal()
    }
    
  2. Ngoài ra, trong tệp cấu hình Gradle, hãy thêm các thư viện cần thiết vào khối 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")
    }
    

Khởi chạy Ứng dụng dịch vụ Thảo luận

Khởi tạo DiscussServiceClient bằng cách truyền Khoá API (được cung cấp thông qua biến môi trường API_KEY) làm tiêu đề vào TransportChannelProvider để DiscussServiceSettings sử dụng:

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

Tạo lời nhắc tin nhắn

Bạn cần cung cấp MessagePrompt cho API để API này có thể dự đoán thông báo tiếp theo trong cuộc thảo luận.

(không bắt buộc) Tạo một số ví dụ

Nếu muốn, bạn có thể cung cấp một số ví dụ về những dữ liệu mà mô hình sẽ tạo. Dữ liệu này bao gồm cả hoạt động đầu vào của người dùng và phản hồi mà mô hình này mô phỏng.

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

Tạo lời nhắc

Truyền ví dụ vào MessagePrompt.Builder cùng với nhật ký thông báo hiện tại và ví dụ ở bước trước (không bắt buộc).

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

Tạo thông báo

Tạo một GenerateMessageRequest

Tạo GenerateMessageRequest bằng cách truyền tên mô hình và lời nhắc vào 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();

Gửi yêu cầu

GenerateMessageResponse response = client.generateMessage(request);

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

System.out.println(returnedMessage);

Các bước tiếp theo

Giờ đây, khi bạn đã tạo ứng dụng Java đầu tiên bằng PaLM API, hãy xem tài nguyên bên dưới để tìm hiểu thêm về API và các mô hình ngôn ngữ nói chung.